无法让自动换行在 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 上工作的主要内容,如果未能解决你的问题,请参考以下文章

怎样让excel表格中的文字自动换行

自动换行在 Internet Explorer 中不起作用

winform里label遇中文自动换行,求解

excel里如何让文字自动换行显示

excel中如何让文字自动换行?

table不自动换行