swift 3 ios:UILabel

Posted

技术标签:

【中文标题】swift 3 ios:UILabel【英文标题】:swift 3 ios : UILabel 【发布时间】:2016-10-26 09:30:35 【问题描述】:

我正在尝试创建具有动态高度的UILabel

这是我的代码:

        label1.text = Message
        label1.textColor = UIColor.white
        let font = UIFont.systemFont(ofSize: 17.0)
        label1.font = font
        label1.textAlignment = .center
        label1.lineBreakMode = NSLineBreakMode.byWordWrapping;
        label1.numberOfLines = 0;
        label1.sizeToFit()

        label1.frame = CGRect(x: 0, y:40 , width: 270, height: label1.frame.height)

但是,我的label 保留一行,我的消息大约是 3 行 那么这个问题的最佳解决方案是什么?

【问题讨论】:

你对你的 UILabel 有什么限制吗? 请看这个链接***.com/questions/39410796/… 只需要设置标签高度关系大于等于 【参考方案1】:

最好的解决方案是使用约束。

直接在 InterfaceBuilder 中或通过代码。 (SnapKit 将是一种通过代码构建约束的好方法)

【讨论】:

在基于约束的布局中,您不需要对高度进行约束。位置和宽度的约束就足够了。 Autolayout 会自动计算高度。【参考方案2】:

试试

let size = label1.sizeThatFits(CGSize(width: 270, height: 100000))
label1.frame = CGRect(x: 0, y: 40, width: 270, height: size.height)

代码的最后两行。

【讨论】:

【参考方案3】:

你可以用故事板来做

标签高度与大于或等于

的关系

【讨论】:

以上是关于swift 3 ios:UILabel的主要内容,如果未能解决你的问题,请参考以下文章

Swift 3 - iOS 11.2 上的 UICollectionview 问题

swift 3 ios:UILabel

iOS -Swift 3.0 -for(循环语句用法)

iOS Swift 3架构问题

iOS Swift 3 open

Swift 3 / iOS 10,正确使用核心数据