2012-02-24 61 views
0

我正在使用Xcode 4.2 iOS 5.0并且还使用了故事板。我有一个简单的按钮,我用outlet连接了那个按钮。现在我正在改变代码中的按钮文本。问题是如果我的按钮标题字符串是“你好吗?”然后它显示在按钮标题“嘿....你?”任何人都可以建议我在哪里做错了或缺少别的东西?按钮标题文本未完全显示

![输入图片说明] [1]
这是IB设置。
我只写了btw.textLabel.text = textstr;并且帧是(0,0,290,42),并且文本str是时间,例如[NSDate date]

+0

我不知道为什么要这样?ü可以给我建议,我将如何提高呢? – NSCry 2012-02-24 08:14:51

+0

现在明白它是100%:) – NSCry 2012-02-24 11:16:11

+2

@ARC但是,你似乎接受的答案并不是真正的答案,所以这也不是很有帮助。 – Abizern 2012-02-24 12:36:12

回答

2

尝试[myButton sizeToFit]; //由于最少30个字符,我需要再输入9个字符来回答这个问题。

+0

不工作在我的case.Thanks for suggestion.Do你有任何其他的解决方案? – NSCry 2012-02-24 08:12:41

+0

不工作意味着什么?该按钮根本不调整大小,不够? – dbrajkovic 2012-02-24 08:17:10

+0

标题去按钮的左上角,以前它在按钮的中间,“......”仍然存在 – NSCry 2012-02-24 08:18:31

6

您的按钮宽度小于标题字符串的长度。这就是为什么 它会截断字符串的中间部分。您可以将内容 模式设置为IB中的characterwrap以使标题分两行,或者您可以将字体大小更改为较小的字体以适合您的按钮宽度或 您可以更改按钮宽度以占据整个字符串。更喜欢 什么是适合你的。

+0

我试过所有,但无法修复的东西。 – NSCry 2012-02-24 12:31:40

+2

为什么你接受答案呢? – Abizern 2012-02-24 12:34:39

+0

您的换行符仍处于截断中间选项(IB中)。将其更改为characterWrap。 – Sree 2012-02-24 12:37:04

0
myButton.textLabel.text = @"some very long title"; 
[myButton.textLabel sizeToFit]; 
0

我不知道这是否已经XCode中4.2工作,但现在它;)

您需要使用UIButton方法setTitle:forState:

[self.myButton setTitle:@"Correct New Title" forState:UIControlStateNormal]; 

,因为这将正确更新按钮标签的大小和位置。只要将标题设置为self.myButton.titleLabel.text = @"Wrong New Title";就不会。

积分詹姆斯Beith(看他在回答UIButton - text truncated