проблема с вращением и uilabels с размером, установленным с помощью sizeWithFont NSString - PullRequest
0 голосов
/ 25 октября 2010

У меня есть несколько UILabels на мой взгляд с их высотой, установленной с помощью sizeWithFont:.

Я установил autoreszingMask для гибкой ширины и высоты, однако при повороте изменяется ширина (я предполагаю, что ширина self.viewизменяется и его ширина устанавливается относительно self.view), но его высота не изменяется, чтобы соответствовать содержанию снова.Это приводит к большому пустому пространству сверху и снизу.

Просто интересно, как бы я изменил размер UILabel при вращении?Есть ли какой-либо автоматический способ сделать это, или есть способ получить все UILabels и переделать sizeWithFont, когда устройство поворачивается?

UILabels - это подвиды иерархий UIView, используемых в качестве заголовков для разделов вмой UITableView.

Спасибо, Том

Ответы [ 2 ]

1 голос
/ 25 октября 2010

Вы действительно должны отправить sizeToFit любому UIView, особенно UILabel, вместо наложения на них произвольного размера.

Лучшим подходом обычно является сначала установить максимальную ширину и текущую высоту, затем отправить sizeToFit, а затем снова отрегулировать ширину, если необходимо. В случае многострочных меток это выглядит как самый надежный способ избежать ошибок макета.

0 голосов
/ 14 декабря 2010

Проблема заключалась в том, что у левого и правого полей был слегка смещенный uilabel.

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

...