我正在使用Xcode 4.2 iOS 5.0并使用故事板。我有简单的按钮,我将该按钮与outlet连接。现在我正在从代码更改按钮文本。问题是,如果我的按钮标题字符串是“嘿,你好吗?”然后按钮标题显示“嘿......你?”任何人都可以建议我在哪里做错了或错过了其他的东西?
![在此处输入图像说明] [1]
这是IB设置。
我刚写了btw.textLabel.text = textstr;和框架是(0,0,290,42),文本str是时间,例如[NSDate date]
答案 0 :(得分:6)
你的按钮宽度小于标题字符串的长度。这就是原因 它会截断字符串的中间部分。您可以设置内容 模式到IB中的CharacterWrap可以使标题分为两行或者你可以 将字体大小更改为较小的字体以适合您的按钮宽度或 您可以更改按钮宽度以占据整个字符串。比较喜欢 什么对你好。
答案 1 :(得分:2)
试试[myButton sizeToFit]; //由于最少30个字符,我需要输入9个以上的字符来回答这个问题。
答案 2 :(得分:1)
我不确定这是否已在XCode 4.2中有效,但现在确实如此;)
您需要使用UIButton
方法setTitle:forState:
[self.myButton setTitle:@"Correct New Title" forState:UIControlStateNormal];
因为这将正确更新按钮标签的大小和位置。仅使用self.myButton.titleLabel.text = @"Wrong New Title";
设置标题的地方不会。
致James Beith的信用(见UIButton - text truncated中的答案)
答案 3 :(得分:0)
myButton.textLabel.text = @"some very long title";
[myButton.textLabel sizeToFit];
答案 4 :(得分:0)
用于SWIFT 4,5
您需要使用“ setTitle”而不是“ textLabel.text”
Button.setTitle("this is maximium line text come", for: .normal)