2013-05-20 353 views
0

我有一个关于iOS5 UIButton标题的问题。他们剪辑和显示在这张照片。我不希望他们被剪辑,我想显示完整的标题。iOS 5 UIButton标题显示省略号

enter image description here

在iOS6的,他们很好地工作。

请告诉我如何解决这个问题?

回答

4

你只需要增加你的宽度UIButton以显示完整的Title,我已经发布了更好的想法的示例片段,试试吧。你只需要增加按钮的宽度。

UIButton *btn1 = [UIButton buttonWithType:UIButtonTypeCustom]; 
[btn1 setFrame:CGRectMake(20, 200, 150, 25)]; 
[btn1 setTitle:@"This is Long Title" forState:UIControlStateNormal]; 
[self.view addSubview:btn1]; 
+0

我在界面生成器中创建按钮。他们在iOS6中工作正常。我不知道他们为什么不在这里工作。 –

+0

可能你还没有为界面生成器设置自动调整大小。 –

+0

ios5的自动调整会立即崩溃应用程序。痛苦地学习了这课。 –

0

我觉得AutoLayout可能是这个的罪魁祸首。检查您的约束是否不会迫使标签缩小。

+0

我关闭了自动布局功能。我已经使用UIapperance来更改所有按钮的字体与UILabel * labelsApperance = [UILabel外观]; 而当我禁用它的字体外观代理,按钮工作正常。 –

+0

好吧,我假设你的自定义字体可能比默认字体大。你可以设置最小字体大小,并将换行符设置为'NSLineBreakByWordWrapping'? – MichaelScaria

0

伙计们我找到了解决办法。

这很简单,只需要将界面生成器中的按钮字体大小设置为比UIapperance字体代理更大或相同的字体大小即可。

0

我假定您正在设置代码中的自定义字体,但您正在设置IB中按钮的文本。所以我简单的解释是,@MichaelScaria说,你的自定义字体更大。由于当前字体和大小调整了按钮内的标签大小,所以正在剪裁文本。由于在文本设置后您正在更改字体和大小,因此您需要重新设置按钮的标题或在该按钮上调用“sizeToFit”。

+0

我在按钮上调用了sizeToFit,它崩溃了。 –

0

对于那些你在这里,由于省略和使用UIBarButtonItem知道有一个possibleTitles财产上UIBarButtonItem与阅读文档:

使用这个属性来提供有关如何正确尺寸的提示系统酒吧按钮项目足够宽以容纳您最宽的标题。将此属性的值设置为NSSet对象,该对象包含您打算用作条形按钮项目的可能标题的所有标题。使用您想要显示的实际文本字符串。

此属性适用于位于导航栏或工具栏上的酒吧按钮项目。

+0

同时也知道,如果你需要初始化你的酒吧按钮项目为空标题,你需要使用@“”而不是@“”来避免定位问题(这是我的经验)。 –