Swift:UILabel如何显示所有文本

时间:2015-06-12 04:19:36

标签: ios objective-c swift

我是Swift的新手,我不知道如何让我的UILabel显示所有文字。

以下是我的标签在我的故事板中的样子:enter image description here

如您所见,部分文字被省略。我可以通过拖动UILabel来显示所有文本以调整大小。但是,在运行时,如果文本是动态设置的,我如何调整标签大小以便它可以显示更多的文本?

我尝试UILabel.sizeToFit(),但似乎没有改变任何事情。

5 个答案:

答案 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调整} 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' 框架,您可以通过从故事板中选择标签来更改自动收缩选项,并在检查器窗格中调整此选项。

enter image description here

答案 3 :(得分:1)

为什么选择旧方式..让我们使用自动布局。如果你尚未使用它。让我们开始吧 - 步骤:

  1. 创建一个UIlabel并将其宽度设置为您希望在屏幕上显示的任何数量。

  2. 选择标签转到“编辑器”菜单 - >引脚和逐个引脚引导尾部和顶部空间到Superview(不是底部)。

  3. 由于你有固定的宽度,你有动态高度,所以也有针宽。

  4. 转到属性检查器选项卡并将行设置为0(表示无限制)。

  5. 转到尺寸检查器并将内容拥抱优先级(250/251)设置为低,将内容阻力优先级设置为高(例如-750)。

  6. 你完成了。!! (不是一行代码)

答案 4 :(得分:0)

首先必须根据要设置的文本的长度计算标签的高度,然后相应地增加行数  如

yourLabel.numberOfLines = "Your calculation number"

然后根据计算的高度设置标签的框架 和

如果您无法计算标签的高度,那么我会说使用 TextView 它会自动添加滚动到文本,您可以查看所有文本。