Высота UITextView изменяется на прокручиваемую после добавления разрыва строки - PullRequest
0 голосов
/ 22 января 2019

Я пытаюсь установить высоту UITextview, и все работает хорошо, пока я не попытаюсь отформатировать текст.

Примером может быть "/ n" или использование разрыва строки с литералами Swift Multiline String.

После этого Textview становится прокручиваемым с каким-либо значением максимальной высоты.

Разве форматирование текста уничтожает "self.overViewTxt.contentSize.height"?

Спасибо.

@IBOutlet weak var overViewTxt: UITextView!
@IBOutlet weak var overviewTxtHC: NSLayoutConstraint!

overViewTxt.text = "Lorem ipsum dolor sit er elit lamet, consectetaur cillium adipisicing pecu, \n sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Nam liber te conscient to factor tum poen legum odioque civiuda.Lorem ipsum dolor sit er elit lamet, consectetaur cillium adipisicing pecu, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."

overviewTxtHC.constant = self.overViewTxt.contentSize.height

или

overViewTxt.text = """
    Lorem ipsum dolor sit er elit lamet, consectetaur cillium adipisicing pecu, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
    Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat\n  non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Nam liber te conscient to factor tum poen legum odioque civiuda.Lorem ipsum dolor sit er elit lamet, consectetaur cillium adipisicing pecu, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
    """

Ответы [ 2 ]

0 голосов
/ 22 января 2019

UITextView обладает уникальным свойством автоматического расчета высоты. Вам НЕ нужно принимать ограничение IBOutlet или не давать никаких ограничений fix HEIGHT, вместо того, чтобы отключать его свойство прокрутки, а затем назначать любой текст, которому он будет автоматически соответствовать по размеру.

Примечание. Убедитесь, что вы задали правильные ограничения, т. Е. Сверху, снизу, впереди и сзади.

0 голосов
/ 22 января 2019

Попробуйте обновить фрейм вместо использования ограничения:

overViewTxt.text = "Lorem ipsum dolor sit er elit lamet, consectetaur cillium adipisicing pecu, \n sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Nam liber te conscient to factor tum poen legum odioque civiuda.Lorem ipsum dolor sit er elit lamet, consectetaur cillium adipisicing pecu, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."

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