UIButton标题文本截断

Chr*_*ker 5 objective-c uibutton

我有一个UIButton,在XIB中设置为147像素宽和30高.它有一个默认文本"导航".在申请过程中,我将标题设置为"全局".之后,我将其设置为"摘要",并显示为"Su ... ry".

我已经阅读了很多东西,说UIButton的默认标签要比最长的文本长,但是'Summary'比'Navigation'要短.应用程序期间文本区域似乎缩小了.

我没有重新加载视图.我的应用程序主要清除默认显示滚动视图中的元素并重新填充新数据.

我一直在用

button.titlelabel.text = @"Summary";
Run Code Online (Sandbox Code Playgroud)

但是当我没有导致文本显示时,我就开始使用了

[button setTitle:@'Summary' forState:UIControlStateNormal];
Run Code Online (Sandbox Code Playgroud)

每次都有效.

有没有办法强制UIButton中的文本区域重置为正在显示的文本?我宁愿不动态创建按钮,如果这是objective-c的函数,那么我会认为这是一个错误.

提前致谢.克里斯H.

mat*_*way 8

这不是Objective-C的错.Objective-C是一种编程语言.如果出现任何问题,那就是UIKit,这是Apple的iOS UI框架.

问题是您的按钮不会调整大小 - 这不是UIButton的API设计方式.您可以在设置标题后自行调整按钮大小来解决问题.您可以确定文本的大小:

CGSize requiredSize = [[button titleForState:UIControlStateNormal] sizeWithFont:button.titleLabel.font];
Run Code Online (Sandbox Code Playgroud)

然后,你可以用它来让大一点的宽度和高度,并设置framebutton到.