【发布时间】:2015-04-23 17:59:58
【问题描述】:
我有一个UIButton,我在应用程序中设置了它的文本,但是文本太长,所以我想让UIButton 文本换行并继续下一行。
它必须与AutoLayout 一起使用。
我已经设法通过UILabel 使用此代码:
label.numberOfLines = 0;
label.preferredMaxLayoutWidth = 300.0;
但是,当我将它应用到这样的按钮时:
button.titleLabel.preferredMaxLayoutWidth = 200.0;
button.titleLabel.numberOfLines = 0;
它似乎不起作用。
该代码放在viewDidLoad 中,如下所示:
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
label.numberOfLines = 0;
label.preferredMaxLayoutWidth = 300.0;
button.titleLabel.preferredMaxLayoutWidth = 200.0;
button.titleLabel.numberOfLines = 0; }
然后我用这样的 IBAction 设置按钮文本
-(IBAction)labelMake:(id)sender {
label.text = [NSString stringWithFormat: @"Test to see if label linebreaks"];
button.titleLabel.text = [NSString stringWithFormat: @"Test to see if button text linebreaks"];}
【问题讨论】:
-
请显示按钮的实际代码。它在哪里运行,按钮是如何创建/配置的,如何设置按钮标签文本等等。
-
我已经用实际代码编辑了我的问题。请注意,我创建了一个新项目只是为了测试我正在开发的应用程序的此功能。
-
"请注意,我创建了一个新项目只是为了测试此功能" 太好了!我希望每个人都这样做。这是解决这些问题的最佳方法。
-
我仍在学习用 Objective-C 编写代码,但我认为在新项目中这样做会更容易,以避免与当前应用程序混淆,最坏的情况下会弄乱一些应用中的原始代码。
标签: ios uibutton autolayout line-breaks