2013-08-21 2 views
0

У меня есть прототип UITableViewCell на раскадровке.UILabel внутри ячейки UITableview, проблема с раскладкой автомата

http://i.stack.imgur.com/FhF5y.png

Он имеет три constaraints, слева, сверху и правильное расстояние от надтаблицы. UIlabel имеет количество строк = 0

Когда я назначаю текст UILabel, у меня есть ненужное верхнее дополнение на некоторых uilabels. Например, первая ячейка на снимке экрана. Как получить, что текст будет всегда выровнен?

http://i.stack.imgur.com/hjwmp.png

ответ

2

Я решил выдать себя. Кажется, что автоматическая компоновка не обновляет ярлык preferredMaxLayoutWidth, поэтому это приведет к неправильному форматированию. Например, когда вы меняете ориентацию.

Итак, чтобы решить эту я подкласс и переопределить UILabel layoutSubviews

- (void) layoutSubviews { 
    [super layoutSubviews]; 
    self.preferredMaxLayoutWidth = self.bounds.size.width; 
} 
+1

Это, кажется, не работает с iOS8 больше. Кто-нибудь испытывает то же самое? layoutSubviews просто не вызван. – stk

+0

Мой макетПодробности на моем ярлыке вызываются. – christophercotton

Смежные вопросы