我使用Interface Builder(Xcode 4)创建了一个宽UIButton,添加了一个虚拟的5个字符标题(例如Click),然后稍后以编程方式更改了标题文本。
奇怪的是标题文字的宽度似乎保持不变所以,如果我使用较长的文本(例如“现在点击这里”),它看起来像这样:“N ... e”
知道发生了什么事吗?
更新: 如果我在IB中使用长行文本它居中。但是,一旦我以编程方式更改了此文本,它就会显示为左对齐!
答案 0 :(得分:105)
您需要使用UIButton
方法setTitle:forState:
[self.myButton setTitle:@"Correct New Title" forState:UIControlStateNormal];
因为这将正确更新按钮标签的大小和位置。仅使用self.myButton.titleLabel.text = @"Wrong New Title";
设置标题的地方不会。