使用NSString的sizeWithFont设置大小的旋转和uilabels问题

时间:2010-10-25 15:53:10

标签: iphone uitableview uilabel autoresize autorotate

我的视图中有一些UILabel,其高度设置为sizeWithFont:

我将autoreszingMask设置为灵活的宽度和高度,但是在旋转时宽度会发生变化(假设因为self.view的宽度发生变化,而且其设置的宽度相对于self.view)但是它的高度不会改变为再次适合内容。这会在顶部和底部产生较大的空白区域。

只是想知道如何在旋转时重新调整UILabel的大小?有没有自动执行此操作的方法,或者是否有办法在设备旋转时获取所有UILabel并重新执行sizeWithFont

UILabels是UIView heirarchies的子视图,用作UITableView中各节的标题。

由于 汤姆

2 个答案:

答案 0 :(得分:1)

你应该把sizeToFit发送给任何UIView,尤其是UILabel,而不是强迫它们使用任意大小。

最好的方法通常是首先设置最大宽度和当前高度,然后发送sizeToFit,然后在必要时再次调整宽度。对于多行标签,它看起来是避免布局错误的最简单方法。

答案 1 :(得分:0)

问题是在略微偏移的uilabel上有一个灵活的左右边距。

如果标签不居中,则需要选择左侧或右侧,并为其中一个设置灵活边距。