2011-12-22 70 views
5

我有一个UIButton在XIB中设置为147像素宽和30高。它有一个默认的文字“导航”。在申请过程中,我将标题设置为“全球”。稍后,我将它设置为'摘要',并将此显示设置为'Su ... ry'。截取的UIButton标题文本

我已经阅读了很多说UIButton的默认标签比最长的文本长的事情,但是'Summary'比'Navigation'更短。文本区域在应用程序中似乎缩小。

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

我一直在使用

button.titlelabel.text = @"Summary"; 

但是我得到的场合时,这并没有在文中表现造成的,因此使用

[button setTitle:@'Summary' forState:UIControlStateNormal]; 

哪些工作每次开机。

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

在此先感谢。 Chris H

回答

8

这不是Objective-C的错。 Objective-C是一种编程语言。如果有什么是错的,那就是UIKit,它是iOS的iOS的UI框架。

问题是,您的按钮不会调整大小 - 这不是如何设计UIButton的API。设置标题后,您可以通过自己调整按钮来解决问题。您可以确定文本有多大是有:

CGSize requiredSize = [[button titleForState:UIControlStateNormal] sizeWithFont:button.titleLabel.font]; 

然后,你可以用它来使宽度和高度也有点大,并设置的buttonframe了这一点。

+0

谢谢,对不起,作为一个相对较新的人,我无法区分各种组件。感谢您的澄清和解决方案。 – 2011-12-23 00:22:07