Почему UITextView не показывает текст? - PullRequest
0 голосов
/ 29 июня 2019

Я прочитал, что в TextView входят три компонента - менеджер макетов, TextView и Text Storage. У меня очень простой вариант использования, и я могу обойтись без хранилища и пользовательского менеджера компоновки.

Почему следующее показывает только пустой квадрат, как описано в рамке легенды?

 let legendContainer = NSTextContainer(size: CGSize(width: 100, height: 100))
 let legend = UITextView(frame: CGRect(x: 20, y: 150, width: 200, height: 200), textContainer: legendContainer)
    legend.textColor = UIColor.lightGray
    legend.backgroundColor = UIColor.darkGray
    legend.font = UIFont.boldSystemFont(ofSize: 14.0)
    legend.text = "My text"
    addSubview(legend)

enter image description here

1 Ответ

1 голос
/ 29 июня 2019

Это потому, что вашему текстовому контейнеру не хватает остальной части стека текстового набора. Вам может понадобиться только текстовый контейнер, но текстовому контейнеру по-прежнему требуется менеджер макета и хранилище текста.

let lm = NSLayoutManager()
let ts = NSTextStorage()
ts.addLayoutManager(lm)
let tc = NSTextContainer(size: someSize)
lm.addTextContainer(tc)
let tv = UITextView(frame:someFrame, textContainer:tc)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...