Пользовательский UITableViewCell обновляет ограничения из файла XIB при вращении

Так что я подкласс UITableViewCell и есть соответствующий файл XIB для него.
Для простоты скажем, у меня есть 3 UILabelс рядом.
Все они имеют интервал 8 друг к другу и изменяются в соответствии с его содержимым, кроме первого, который занимает оставшееся пространство в ячейке.
Первая метка (Label1) имеет ограниченные пробелы для других меток и суперпредставления. Эти ограничения имеют свои Installed свойство не проверено и связано с моим подклассом через IBOutlets.
Визуально это может выглядеть так:

[Label1] - Интервал - [Label2] - Интервал - [Label3]

В зависимости от отображаемых данных, право 2 UILabels могут быть скрыты. Если первый скрыт, он должен выглядеть так:

[Label1] - Интервал - [Label3]

Сокрытие этикетки сделано в tableView:cellForRowAtIndexPath: в котором я также вызываю метод для установки соответствующего ограничения из xib-файла, к которому можно получить доступ через IBOutlet, Это работает отлично. Но при повороте устройства ограничения перезагружаются из xib-файла, в котором нет ограничений. Installed, но updateConstraints не вызывается снова на моем UITableViewCellПодкласс, все портит.

Один из способов исправить это - вместо вызова метода, который устанавливает соответствующее активное ограничение, в tableView:cellForRowAtIndexPath: я мог бы позвонить в layoutSubviews в моем UITableViewCell-subclass. Но я думаю, что вы не должны обновлять ограничения в layoutSubviews,

0 ответов

Другие вопросы по тегам