我是Swift的新手,我不知道如何让我的UILabel显示所有文字。
以下是我的标签在我的故事板中的样子:
如您所见,部分文字被省略。我可以通过拖动UILabel来显示所有文本以调整大小。但是,在运行时,如果文本是动态设置的,我如何调整标签大小以便它可以显示更多的文本?
我尝试UILabel.sizeToFit()
,但似乎没有改变任何事情。
答案 0 :(得分:5)
您可以将numberOfLines
设置为0
示例强>
myLabel.text = "whatever"
myLabel.numberOfLines = 0
myLabel.lineBreakMode = NSLineBreakMode.ByWordWrapping
你根据它设置了框架
参考:to this link
答案 1 :(得分:4)
YourUILabel.sizeToFit()
是正确的,但这不是全部......
在调用.sizeToFit()
之前,您需要设置行数和换行符。
YourUILabel.numberOfLines
等于0
,无限数量 线...
YourUILabel.lineBreakMode
等于NSLineBreakMode
点(。) 例如ByWordWrapping
..
答案 2 :(得分:2)
如果未使用autolayout调整1>} pieces p INNER JOIN playerDeck pd
ON p.name = pd.name
INNER JOIN playerPieces pp
ON pd.name = pp.name
WHERE pd.playerName = 'playerName' AND
pp.playerName = 'playerName'
框架,您可以通过从故事板中选择标签来更改自动收缩选项,并在检查器窗格中调整此选项。
答案 3 :(得分:1)
为什么选择旧方式..让我们使用自动布局。如果你尚未使用它。让我们开始吧 - 步骤:
创建一个UIlabel并将其宽度设置为您希望在屏幕上显示的任何数量。
选择标签转到“编辑器”菜单 - >引脚和逐个引脚引导尾部和顶部空间到Superview(不是底部)。
由于你有固定的宽度,你有动态高度,所以也有针宽。
转到属性检查器选项卡并将行设置为0(表示无限制)。
转到尺寸检查器并将内容拥抱优先级(250/251)设置为低,将内容阻力优先级设置为高(例如-750)。
你完成了。!! (不是一行代码)
答案 4 :(得分:0)
首先必须根据要设置的文本的长度计算标签的高度,然后相应地增加行数 如
yourLabel.numberOfLines = "Your calculation number"
然后根据计算的高度设置标签的框架 和
如果您无法计算标签的高度,那么我会说使用 TextView 它会自动添加滚动到文本,您可以查看所有文本。