我有一个UIButton,它在XIB中设置为147像素宽,30像素高。它有一个默认文本“导航”。在应用程序的过程中,我将标题设置为“Global”。稍后,我将其设置为“t0”,并将其显示为“Su...ry”。
我读过很多关于设置UIButton的默认标签要比最长的文本更长的东西,但是“摘要”比“导航”要短。在应用程序期间,文本区域似乎缩小了。
我不会重新加载视图。我的应用程序主要清除默认显示滚动视图中的元素,并重新填充新数据。
我一直在用
button.titlelabel.text = @"Summary";然而,在某些情况下,这不会导致文本显示,所以开始使用
[button setTitle:@'Summary' forState:UIControlStateNormal];每次都行得通。
有没有办法强制UIButton中的文本区域重置为正在显示的文本?我不想在运行中创建按钮,如果这是objective-c的函数,那么我会认为这是一个错误。
提前谢谢。克里斯·H
发布于 2011-12-23 07:40:46
这不是Objective-C的错。Objective-C是一种编程语言。如果有什么问题的话,那就是苹果为iOS开发的UI框架UIKit。
问题是你的按钮不会调整大小--这不是UIButton的应用程序接口设计的方式。你可以在设置标题后自己调整按钮的大小来解决这个问题。您可以使用以下命令确定文本的大小:
CGSize requiredSize = [[button titleForState:UIControlStateNormal] sizeWithFont:button.titleLabel.font];然后你可以使用它来使它的宽度和高度更大一点,并将button的frame设置为该值。
https://stackoverflow.com/questions/8610891
复制相似问题