gpt4 book ai didi

ios - 根据 Swift 中的文本大小调整 labelSize

转载 作者:行者123 更新时间:2023-11-29 01:46:16 25 4
gpt4 key购买 nike

我已经以编程方式向 UIView 添加了一个标签。但是我似乎无法根据标签内的文本自动调整大小。我尝试过使用此扩展,但不确定如何正确使用它

extension UILabel {
func resizeHeightToFit(heightConstraint: NSLayoutConstraint) {
let attributes = [NSFontAttributeName : font]
numberOfLines = 0
lineBreakMode = NSLineBreakMode.ByWordWrapping
let rect = text!.boundingRectWithSize(CGSizeMake(frame.size.width, CGFloat.max), options: NSStringDrawingOptions.UsesLineFragmentOrigin, attributes: attributes, context: nil)
heightConstraint.constant = rect.height
setNeedsLayout()
}
}

然后我尝试了这个:

titleLabel?.resizeHeightToFit(NSLayoutConstraint(item: self, attribute: NSLayoutAttribute.Height, relatedBy: NSLayoutRelation.Equal, toItem: nil, attribute: NSLayoutAttribute.NotAnAttribute, multiplier: 1.0, constant: titleLabel!.frame.height))

但它返回错误。

最佳答案

你可以试试sizeToFit():

let label = UILabel()
label.text = "Text"
label.sizeToFit()
print(label.frame) // "(0.0, 0.0, 32.5, 20.5)"
label.text = "Text that is pretty long this time"
label.sizeToFit()
print(label.frame) // "(0.0, 0.0, 241.5, 20.5)"

关于ios - 根据 Swift 中的文本大小调整 labelSize,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31900227/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com