UIButton 如何显示多行文本

913 阅读2分钟

可能很多同学不知道,我们经常使用的 UIButton,其实是支持显示多行文本的,只是平时 UIButton 展示一行就能满足需求了。

默认情况下 UIButton 展示单行文本,通过一些方法,也可以展示多行,今天就来说说这个话题。

使用代码方式

首选换行需要使用 \n 来表示,然后需要设置 titleLabellineBreakMode 属性,设置为 byWordWrapping(以单词为单位换行) 或者 byCharWrapping(以字符为单位换行)

let button = UIButton()
button.setTitle("Title\nSubtitle", for: .normal)
button.titleLabel?.lineBreakMode = .byCharWrapping
button.setTitleColor(.red, for: .normal)
button.sizeToFit()
button.center = view.center
view.addSubview(button)

最后的结果:

文本的对其方式默认为左对齐,你还可以设置 textAlignment 调整文本对齐方式,比如我们设置为居中对齐:

button.titleLabel?.textAlignment = .center

使用 Storyboard 设置

除了使用代码之外,还可以在 Storyboard 上设置 UIButton 的多行显示。

打开 Storyboard 并拖一个 Button 上去,然后在 title 一栏中输入文本,注意换行不能使用 \n ,需要使用快捷键 Option + 回车键,或者在其他的编辑器里先把需要换行的文本编辑好,最后复制到 Storeboard 的输入框中。

但是这种方法无法通过设置 Storeboard 上的 Alignment 选项来修改对齐方式,如果想修改对齐方式,需要利用 Attributedtitle

1、将标题从 Plain 更改为 Attributed

2、选中 Text 中的所有文本(Command + A)

3、选择你想要的对齐方式

点击下方公众号卡片,关注我,每天分享一个关于 iOS 的新知识

本文同步自微信公众号 “iOS新知”,每天准时分享一个新知识,这里只是同步,想要及时学到就来关注我吧!