无法让自动换行在 UIButton 上工作
Posted
技术标签:
【中文标题】无法让自动换行在 UIButton 上工作【英文标题】:can't get word wrap to work on UIButton 【发布时间】:2013-03-15 09:30:32 【问题描述】:我有一个简单的 UIButton 并尝试自动换行,但它总是在一行中显示超出按钮大小的文本。
NSString * text = NSLocalizedString(@"Start Loading",@"Start Loading");
_continueBtn.titleLabel.lineBreakMode = NSLineBreakByWordWrapping;
_continueBtn.titleLabel.textAlignment = NSTextAlignmentCenter;
[_continueBtn setTitle:text forState:UIControlStateNormal];
当我在 UI builder 中设置自动换行时,文本也会自动换行 - 只有当我运行应用程序时,文本才会出现在一行中。
我在这里错过了什么?
【问题讨论】:
我已经更新了我的答案 - 我已经尝试了与您发布的相同的代码,并且运行良好。您在哪个版本的 ios 上运行此代码? 【参考方案1】:试试:
_continueBtn.titleLabel.numberOfLines = 0;
我已经尝试了下一个代码:
UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
button.frame = CGRectMake(20, 20, 70, 50);
button.titleLabel.lineBreakMode = NSLineBreakByWordWrapping;
button.titleLabel.textAlignment = NSTextAlignmentCenter;
[button setTitle:@"start loading"
forState:UIControlStateNormal];
[self.view addSubview:button];
这对我来说很好用:
【讨论】:
在这里评论,因为我没有足够的声誉来评论这个问题。 @user387184 创建标签并将其添加到按钮怎么样?那应该可以。 是的 - 但这确实不是首选解决方案 :-) 请不要问我为什么——但它突然起作用了——可能是因为我做了一个干净并删除了派生数据?? 从现在开始,我将在将问题发布到 *** 之前删除派生数据 :) 实际上,当我更改资源并遇到一些奇怪的错误时,我正在尝试清理项目。但我从没想过清理派生数据也能修复它们。以上是关于无法让自动换行在 UIButton 上工作的主要内容,如果未能解决你的问题,请参考以下文章