Как я понимаю, Apple не предоставляет исходный код для UIKit. Чтобы ответить на еще один вопрос, я пытаюсь понять, как UITextView
работает (или может быть сделано для работы) под капотом.
Как мне самому настроить минимальный UITextView
?
Я вижу из documentation, что он наследует от UIScrollView
, поэтому я предполагаю, что я начну там.
import UIKit
class MyUITextView: UIScrollView {
// ???
}
Снова глядя на документы с текстовым представлением, похоже, что мне нужно как минимум реализовать метод init
, а < свойство href= "https://developer.apple.com/library/ios/documentation/UIKit/Reference/UITextView_Class/#//apple_ref/occ/instp/UITextView/text" rel= "nofollow noreferrer" > text
. (На данный момент я могу игнорировать все аспекты редактирования и атрибуты форматирования.)
Метод init
принимает следующий вид:
init(frame frame: CGRect, textContainer textContainer: NSTextContainer?)
Поэтому мне также понадобится свойство для NSTextContainer
. Этот компонент TextKit
работает вместе с NSTextStorage
и NSLayoutManager
, поэтому мне тоже нужно работать с ними где-то. Я мог бы установить NSTextStorage
с свойством text
, но я действительно не знаю, как здесь взаимодействует NSLayoutManager
.
Кто-нибудь (за пределами Apple) сделал это раньше? Является ли это достаточно простым вопросом для ответа здесь или ответ будет длинным?
Update:
Этот вопрос показывает мою последнюю попытку: Как инициализировать NSTextStorage со строкой в Swift