我正在开发一个音乐播放器,并为歌曲、专辑和艺术家设置了标签。现在,为了用户界面,我希望歌曲标签总是使用3行的空间,即使文本是1行。我已经在属性检查器中将行数设置为3,但是如果歌曲标题实际上是那么长,它只显示3行!
我的第一个解决方法是将标签的高度锁定为文本大小的3倍(然后锁定一些用于间距)。有没有更好的解决办法?或者我可以用别的东西?

最佳答案

要强制UILabel像在音乐播放器中那样占用三行,只需在\n的适当位置添加换行符,并将标签的行设置为3。
添加换行符:

var title = "Title"
var album = "Album"
var artist = "Artist"

label.text = "\(title)\n" +
      "\(album)\n" +
      "\(artist)\n"

将标签设置为3行:
label.numberOfLines = 3 // or set this to 4 or higher if the title of the song might exceed one line

10-05 18:24