На мой взгляд, у контроллера есть UITextView. Это текстовое представление заполнено строкой. Строка может быть короткой или длинной. В зависимости от длины строки высота текста должна настраиваться. Я использую раскадровки и автомат.
У меня есть некоторые проблемы с высотой текста.
Иногда высота идеально подстраивается под текст. Иногда нет, текст обрезается в первой строке. Ниже текст выглядит желтым. синий - это скрытый вид внутри прокрутки. Фиолетовый - это место для картины.
Тексты взяты из моей основной базы данных, они являются строковыми атрибутами.
Между экранами 1 и 2 изменяется только строка.
Если я печатаю строки в консоли, у меня есть правильные тексты:
my amazing new title
Another funny title for demo
Ограничения моего текста:
Я не понимаю, почему у меня есть 2 разных дисплея.
ИЗМЕНИТЬ
Я попробовал @Nate совет, в viewDidLoad, я добавил:
myTextViewTitle.text="my amazing new title"
myTextViewTitle.setContentHuggingPriority(1000, forAxis: UILayoutConstraintAxis.Vertical)
myTextViewTitle.setContentCompressionResistancePriority(1000, forAxis: UILayoutConstraintAxis.Vertical)
myTextViewTitle.setTranslatesAutoresizingMaskIntoConstraints(false)
let views = ["new_view": myTextViewTitle]
var constrs = NSLayoutConstraint.constraintsWithVisualFormat("|-8-[new_view]-8-|", options: NSLayoutFormatOptions(0), metrics: nil, views: views)
self.view.addConstraints(constrs)
self.view.addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("V:|-8-[new_view]", options: NSLayoutFormatOptions(0), metrics: nil, views: views))
self.myTextViewTitle.addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("V:[new_view([email protected])]", options: NSLayoutFormatOptions(0), metrics: nil, views: views))
Нет результатов. С или без ограничения высоты добавлено для моего текстового представления в построителе интерфейса...
ИЗМЕНИТЬ 2
Мне нужно UITextView, а не UIlabel, из-за кнопки "Назад", чтобы использовать путь исключения.
let exclusionPathBack:UIBezierPath = UIBezierPath(rect: CGRect(x:backButton.bounds.origin.x, y:backButton.bounds.origin.y, width:backButton.bounds.width+10, height:backButton.bounds.height))
myTextViewTitle.textContainer.exclusionPaths=[exclusionPathBack]