Как сделать вертикальный UITextView путем создания его подкласса из UIScrollView в Swift?

Фон

Я новичок в разработке для iOS, но чтобы начать создавать даже самые элементарные приложения с использованием вертикального монгольского сценария, мне нужно иметь вертикальныйUITextView, Я не нашел других монгольских разработчиков приложений, которые делятся своим кодом, поэтому я пытаюсь сделать его сам. Монгольский написан сверху вниз, а строки переносятся слева направо, как показано на следующем рисунке:

Прокрутка должна быть горизонтальной (слева направо).

Впредыдущий вопрос Я предложил комбинацию зеркального шрифта и поворота и зеркального отображенияUITextView (потому что это то, что я сделал в Android). Однако после прочтенияэтот ответ и дальнейшие исследования в стиле iOS (например, использованиеTextKit), Я думаю, что может быть лучше просто создать что-то вродеUIVerticalTextView с нуля, а не возиться с нормальнымUITextView, И так как я вижу, чтоUITextView наследует от UIScrollViewЯ полагаю, я должен подклассUIScrollView сделатьUIVerticalTextView.

Где я сейчас нахожусь

ответ я упоминал выше подклассыUIView но у меня было много проблем с прокруткой на работу. Это еще одна причина, по которой я хочу подклассUIScrollView, Также это решение не передавало слова в каждой строке, когда происходило изменение ориентации.

Я собрал следующие части, но я не уверен, как соединить их:

NSTextStorage - С этим не должно быть ничего другого. Он будет просто хранить текст монгольского Unicode и любую информацию о стилях.NSTextContainer - Высота и ширина должны быть изменены, чтобы дать размер вертикального текстового контейнера. (Я так думаю, в любом случае. Если это не может быть сделано где-то еще.)NSLayoutManager - Нужно ли делать здесь что-то особенное или это заботитсяUIVerticalTextView?

UIVerticalTextView - Это будет подклассUIScrollView но какие методы нужно добавить и / или переопределить?

class UIVerticalTextView: UIScrollView {

    // Which properties to include?
    //     - TextStorage
    //     - TextContainer
    //     - LayoutManager

    // which methods to override?

    // which methods to add to give minimal functionality like UITextView?
    //     - init
    //     = text
}
Обновления

Эти вопросы являются попытками разбить проблему на более мелкие части:

Как сделать UITextView с нуля?Как инициализировать NSTextStorage с помощью строки в Swift

И пытаюсь с другим подходом:

Совместимы ли повернутые виды с Auto Layout?Вращение представления в макете Subviews Это на самом деле имеет рабочее решение сейчас. Тем не менее, это в основном включает в себя наложение трех видов друг на друга. Я все еще предпочел бы сделать собственный подкласс UIScrollView, который использует TextKit, как я представил в моем текущем вопросе.

Ответы на вопрос(1)

Ваш ответ на вопрос