ios - UIButton 没有显示完整的标题?

标签 ios objective-c uibutton

我正在动态生成 UIButton,当我设置没有空格的标题名称时,它会正确显示。 例如:

NSString *myString=[[array valueForKey:@"optionName"] objectAtIndex:i];
NSLog(@"%@",myString); // myString=SampleTitle
[button setTitle:myString forState:UIControlStateNormal];

当我用空格设置名称时,它会自动调整 UIButton 标题。 例如:

NSString *myString=[[array valueForKey:@"optionName"] objectAtIndex:i];
NSLog(@"%@",myString); // myString=SampleTitle Test
[button setTitle:myString forState:UIControlStateNormal];

它的显示是这样的

enter image description here

我怎样才能去掉这个修剪部分?我需要正确显示所有字符。

我的 UIButton 大小是根据标题计算的

[button setTitle:myString forState:UIControlStateNormal];
        CGSize stringsize = [@"Prolonged inspiration" sizeWithFont:[UIFont systemFontOfSize:14]];
        //or whatever font you're using
        [button setFrame:CGRectMake(x,y,stringsize.width+30,stringsize.height+20)];

最佳答案

问题的最可能原因是您计算文本大小时使用的字体可能与按钮的字体不同。根据按钮的字体和按钮的文本进行计算。

CGSize stringsize = [myString sizeWithFont:button.titleLabel.font];

作为旁注,sizeWithFont: 方法在 iOS 7.0 中已被弃用。除非您还支持 iOS 6,否则您应该使用适当的替代方法替换该方法。

关于ios - UIButton 没有显示完整的标题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34101431/

相关文章:

cocoa-touch - 按下按钮时更改标签文本

swift - 如何在 Swift 中以编程方式调整 UIButton 中文本的字体大小以适应高度?

iphone - 是否可以为 infoPlist.strings (应用程序名称)设置默认语言?

ios - 如何自动加载 subview 进行测试?

iphone - 调用具有多个参数且来自不同类的栏按钮的选择器

iphone - 如何增加iPhone表格 View 中单元格的高度?

ios - xcodebuild 无法连接到模拟器

iphone - 我可以在 iPhone 上创建后台服务吗?

objective-c - 移除导航栏底部边框 iOS 7

ios - 更改 UIButton 图像时遇到问题