根据UILabel动态设置UIView的高度
Posted
技术标签:
【中文标题】根据UILabel动态设置UIView的高度【英文标题】:Dynamically Set height UIView according to UILabel 【发布时间】:2021-08-12 04:59:32 【问题描述】:我希望我的答案标签根据文本增加高度,并根据答案标签高度设置 UIView 的高度。
你也告诉我你的解决方案。归档这个目标
这是我的故事板
【问题讨论】:
【参考方案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))
你可以保留你设置的任何宽度和字体,你会得到高度。
现在您可以保持视图的高度约束等于标签的高度
【讨论】:
以上是关于根据UILabel动态设置UIView的高度的主要内容,如果未能解决你的问题,请参考以下文章
如何设置UIView高度等于两个子视图UILabel的最大值?
如何设置 UIView 高度等于两个子视图 UILabel 的最大值?
根据 Swift 中的 UILabel 文本调整 UIView 高度
如何将 UIImage 设置为 UITableView Cell,它根据我在 UILabel 中输入的文本动态计算单元格高度?