Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 使用NSString'设置大小的旋转和UILabel问题;s字型_Iphone_Uitableview_Uilabel_Autoresize_Autorotate - Fatal编程技术网

Iphone 使用NSString'设置大小的旋转和UILabel问题;s字型

Iphone 使用NSString'设置大小的旋转和UILabel问题;s字型,iphone,uitableview,uilabel,autoresize,autorotate,Iphone,Uitableview,Uilabel,Autoresize,Autorotate,我的视图中有一些UILabel,它们的高度是使用sizeWithFont:设置的 我将autoreszingMask设置为灵活的宽度和高度,但是在旋转时宽度会发生变化(我假设self.view的宽度会发生变化,并且设置了相对于self.view的宽度),但其高度不会发生变化,以再次适应内容。这会导致顶部和底部出现较大的空白 只是想知道如何在轮换时重新调整UILabel的大小?是否有任何自动方法可以做到这一点,或者是否有一种方法可以在旋转设备时获取所有UILabel并重新执行sizeWithFon

我的视图中有一些UILabel,它们的高度是使用
sizeWithFont:
设置的

我将autoreszingMask设置为灵活的宽度和高度,但是在旋转时宽度会发生变化(我假设self.view的宽度会发生变化,并且设置了相对于self.view的宽度),但其高度不会发生变化,以再次适应内容。这会导致顶部和底部出现较大的空白

只是想知道如何在轮换时重新调整UILabel的大小?是否有任何自动方法可以做到这一点,或者是否有一种方法可以在旋转设备时获取所有UILabel并重新执行
sizeWithFont

UILabels是UIView继承人的子视图,用作my UITableView中节的标题

谢谢
Tom

你真的应该将
sizeToFit
发送到任何UIView,尤其是UILabel,而不是强制它们任意大小


最好的方法通常是先设置最大宽度和当前高度,然后发送
sizeToFit
,然后根据需要再次调整宽度。对于多行标签,这似乎是避免布局错误的最简单的方法。

问题在于在稍微偏移的uilabel上有一个灵活的左右边距


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

sizeToFit会导致非常不合理的行为。。。你打算如何使用它?谢谢你。。。我真的不知道。它似乎只是选择了一个随机的宽度和高度,有时会切断文本,有时甚至高得出奇。旋转设备只会改变宽度。