gpt4 book ai didi

swift - 在新行后重新排列 UILabel

转载 作者:行者123 更新时间:2023-11-30 12:53:24 25 4
gpt4 key购买 nike

我有一个标签,它从文本字段获取文本,并且它所在的 ImageView 的宽度有限制。我想在达到限制时添加新行。但是,我无法使用“\n”和自动换行功能来​​做到这一点。另外,我需要将 UILabel 的高度和宽度设置为确切的文本大小。我的意思是,如果它有两行,则两行的高度应该不多,并且宽度属性完全相同。

func textFieldShouldEndEditing(_ textField: UITextField) -> Bool {
if(imageview.frame.width > label.frame.width + 2)
{
label_test.text = "\(label.frame.width)"
label.text = textfield.text
if(imageview.frame.width < label.frame.width + 20)
{
label.lineBreakMode = .byWordWrapping
label.text = textfield.text! + "\n"
label.textAlignment = NSTextAlignment.center;
}
}
return true
}

最佳答案

为什么不能使用 lineBreakMode ?在我看来,你应该在 viewDidLoad 中定义一个基本设置:

func viewDidLoad() {
//Your stuff
label.frame.size.width = imageview.frame.width //Define max width
label.numberOfLines = 0 //Set infinite number of lines
label.lineBreakMode = .byWordWrapping
}

然后在文本字段ShouldEndEditing中设置文本和高度

label.text = textfield.text
label.sizeToFit() //The height is adjusted

关于swift - 在新行后重新排列 UILabel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40693950/

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