UIButton文本没有被包裹到几行

时间:2013-04-22 12:28:33

标签: text ios6 uibutton wrapping

我遇到的问题是,三个UIButton上的文本被包装到Interface Builder中的几行,但是当我运行代码时,文本比按钮大,只在一行中。我尝试设置NSLineBreakMode和NSTextAlignment,但两者都没有帮助。 在Interface Builder中,它看起来像这样:http://imgur.com/WplkqQV在模拟器上它看起来像这样:http://imgur.com/0YPpEfU。有任何想法吗? 提前谢谢。

1 个答案:

答案 0 :(得分:1)

你的榜样肯定有些奇怪;我无法重现它。您必须对您未在问题提供的信息中描述的按钮执行某些操作。如果您将按钮换行模式设置为Word Wrap(在笔尖中),并且如果您的约束是合理的,以便按钮可以在横向上变宽,在纵向中变窄,那么它将包裹在肖像而不是在风景中,我相信这是你想要的。以下是我机器上模拟器中按钮的屏幕截图(忽略按钮的实际宽度;它只是一个示例;重要的是文本环绕):

enter image description here

enter image description here

然而,真正的问题是身高。你会发现这并没有改变。这是因为圆形矩形按钮具有固有高度值。如果要更改高度,为包装文本创建更多垂直空间,则可能需要在轮换后进行子类化或干预布局过程。例如,我得到了相当不错的结果:

-(void)viewDidLayoutSubviews {
    CGRect f = self.button.bounds;
    if (UIInterfaceOrientationIsLandscape(self.interfaceOrientation))
        f.size.height = 44;
    else
        f.size.height = 60;
    self.button.bounds = f;
}

enter image description here