【发布时间】:2013-05-20 14:31:55
【问题描述】:
我对 iOS5 中的 UIButton 标题有疑问。它们被剪裁并显示在这张照片中。我不希望它们被剪辑,我想显示完整的标题。
在 iOS6 中,它们可以完美运行。
请告诉我如何解决这个问题?
【问题讨论】:
标签: iphone objective-c cocoa ios5 ios6
我对 iOS5 中的 UIButton 标题有疑问。它们被剪裁并显示在这张照片中。我不希望它们被剪辑,我想显示完整的标题。
在 iOS6 中,它们可以完美运行。
请告诉我如何解决这个问题?
【问题讨论】:
标签: iphone objective-c cocoa ios5 ios6
您只需要增加UIButton 的宽度以显示完整的Title,我已经发布了示例 sn-p 以获得更好的想法,试试吧。你只需要增加按钮的宽度。
UIButton *btn1 = [UIButton buttonWithType:UIButtonTypeCustom];
[btn1 setFrame:CGRectMake(20, 200, 150, 25)];
[btn1 setTitle:@"This is Long Title" forState:UIControlStateNormal];
[self.view addSubview:btn1];
【讨论】:
各位,我已经找到解决办法了。
很简单,只需要在界面生成器中将按钮字体大小设置为比UIapperance字体代理更大或相同的字体大小即可。
【讨论】:
我认为 AutoLayout 可能是造成这种情况的罪魁祸首。检查您的约束是否没有强制标签缩小。
【讨论】:
NSLineBreakByWordWrapping?
我假设您正在从代码中设置自定义字体,但您正在从 IB 中设置按钮的文本。所以我的简单解释是,正如@MichaelScaria 所说,您的自定义字体更大。文本正在裁剪,因为按钮内标签的大小已针对当前字体和大小进行了调整。由于您在设置文本后更改字体和大小,因此您需要重新设置按钮的标题或在该按钮上调用“sizeToFit”。
【讨论】:
对于那些由于省略号和使用UIBarButtonItem 而来到这里的人,请知道UIBarButtonItem 上有一个possibleTitles 属性,其文档如下:
使用此属性向系统提供有关如何正确调整条形按钮项的大小以使其足够宽以容纳最宽标题的提示。将此属性的值设置为一个 NSSet 对象,该对象包含您希望作为条形按钮项的可能标题的所有标题。使用您打算显示的实际文本字符串。
此属性适用于放置在导航栏或工具栏上的栏按钮项。
【讨论】: