我有一个问题,在界面生成器中,三个UIButtons上的文本被包装成几行,但是当我运行代码时,文本比按钮大,并且只在一行中。我尝试设置NSLineBreakMode和NSTextAlignment,但两者都不起作用。在接口生成器中,它看起来像这样:http://imgur.com/WplkqQV,而在模拟器上,它看起来像这样:http://imgur.com/0YPpEfU。有什么想法吗?提前谢谢。
发布于 2013-04-25 02:05:21
你的例子肯定有一些非常奇怪的地方;我不能重复它。您必须对问题提供的信息中未描述的按钮执行某些操作。如果您设置您的按钮换行模式为Word Wrap (在笔尖中),如果您的约束是合理的,以便按钮可以在横向变宽,在纵向变窄,那么它将在纵向而不是横向进行折行,我相信这就是您想要的。以下是我的机器上模拟器中按钮的屏幕截图(忽略按钮的实际宽度;这只是一个示例;重要的是文本换行):


然而,真正的问题是高度。你会注意到这一点并没有改变。这是因为圆角矩形按钮有一个固有的高度值。如果您希望更改高度,以便为换行文本留出更多垂直空间,则可能需要在旋转后创建子类或干预布局过程。例如,我得到的结果非常好,如下所示:
-(void)viewDidLayoutSubviews {
CGRect f = self.button.bounds;
if (UIInterfaceOrientationIsLandscape(self.interfaceOrientation))
f.size.height = 44;
else
f.size.height = 60;
self.button.bounds = f;
}

https://stackoverflow.com/questions/16147136
复制相似问题