В настоящее время у меня есть UITableView
с динамическим размером UITableViewCell
объектов. Это основано на динамическом контенте для UITextView
. Это работает как шарм, и я смог избавиться от моей неуклюжей и неточной ручной реализации heightForRowAtIndexPath
.UITableViewCell - Как добавить ограничение в UITextView ДО heightForRowAtIndex вычисляется
Теперь я хотел бы дать пользователю возможность ограничить максимальную высоту ячейки - это то, что они могут включать и выключать. Если он выключен, я хочу, чтобы все работало точно так же, как сейчас: не нужно, чтобы я выяснял, как правильно переопределить heightForRowAtIndexPath
, а ячейки растут до размера содержимого. Однако, если пользователь включил этот параметр, я хочу установить максимальную высоту для строки.
я могу ограничить высоту UITextView
, добавив следующее ограничение:
[aCell addConstraint:[NSLayoutConstraint constraintWithItem:aCell.details
attribute:NSLayoutAttributeHeight
relatedBy:NSLayoutRelationLessThanOrEqual
toItem:nil
attribute:NSLayoutAttributeNotAnAttribute
multiplier:1.0
constant:[maxHeight floatValue]]];
К сожалению, это происходит в cellForRowAtIndexPath
методе, который происходит после размер ячейки был определен, так что это кажется. Либо это, либо не рассматривает новое ограничение при определении размера ячейки.
Как я могу ограничить высоту ячейки без необходимости переопределять метод heightForRowAtIndexPath?
Кто-то проголосовал за мой вопрос - как насчет того, чтобы вы разместили комментарий здесь о том, как его улучшить? – thephatp