【问题标题】:Dynamically Set height UIView according to UILabel根据UILabel动态设置UIView的高度
【发布时间】:2021-08-12 04:59:32
【问题描述】:

我希望我的答案标签根据文本增加高度,并根据答案标签高度设置 UIView 的高度。

你也告诉我你的解决方案。归档这个目标

这是我的故事板

【问题讨论】:

    标签: swift uiview storyboard uilabel


    【解决方案1】:

    您需要先找到标签的高度。您可以通过以下方式做到这一点

    extension String {
       func height(withConstrainedWidth width: CGFloat, font: UIFont) -> CGFloat {
            let constraintRect = CGSize(width: width, height: .greatestFiniteMagnitude)
            let boundingBox = self.boundingRect(with: constraintRect, options: .usesLineFragmentOrigin, attributes: [NSAttributedString.Key.font: font], context: nil)
    
            return ceil(boundingBox.height)
        }
    }
    

    然后你可以像这样找到高度:

    let height = "yourString".height(withConstrainedWidth: "THE WIDTH YOU ARE SETTING", UIFont.systemFont(ofSize: 15))
    

    你可以保留你设置的任何宽度和字体,你会得到高度。

    现在您可以保持视图的高度约束等于标签的高度

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-06
      • 1970-01-01
      • 2019-09-18
      • 2021-09-02
      • 2016-08-05
      • 2011-09-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多