Кажется невозможным заставить UILabel придерживаться ограничений в том, что я хочу, чтобы он был последовательно. Ограничения ведущего и конечного пространства кажутся действительно, но метка просто усекает линии вместо того, чтобы расширяться до новых строк.UILabel не надежно обертывается
у меня есть numberOfLines
из UILabel
множества 0. Кроме того, я попытался предложение, перечисленные здесь: UILabel not wrapping text correctly sometimes (auto layout) и это, кажется, не работать надежно. Последнее, что я пробовал, - установить setContentCompressionResistancePriority
на Fitted
и Low
, но он не работает для всего в UITableView
одновременно. Фактически, в зависимости от того, обновляется ли tableview, похоже, что вся упаковка может быть отменена.
Единственная вещь, которую я пробовал, которая, казалось, хорошо работала, заключалась в том, чтобы установить preferredMaxLayoutWidth
UILabel на константу. Я просто надеялся использовать его в качестве крайней меры, чтобы избежать расчета того, насколько широкая метка должна быть во время выполнения. Наверняка, есть способ, чтобы получить то, что я хочу.
Выдали предпочтительную высоту? или вычислить высоту во время выполнения? –
эй, вы указали ограничение высоты и ширины фиксирования – morroko
, это зависит от высоты экземпляра '' UILabel' и шрифта, вероятно, этикетка последовательно обертывает текст (в конечном итоге это точно рассчитанное значение, а не только королева драмы), поэтому, возможно, обстоятельства в вашем случае на краю, когда очень незначительное изменение высоты может повлиять на конечный результат (автоматическая компоновка работает не плавает!), поэтому вам может потребоваться немного изменить макет (например, увеличить высоту на 1 балл или уменьшить размер шрифта на 5% и т. Д.), Чтобы оттолкнуть 'UILabel' из этой неуравновешенной ситуации. – holex