我搜索了这个问题,但我找到的解决方案并不适用于我。我有一个文本域。当用户将某些内容写入文本字段时,它会将其写入标签。当标签达到imageview限制时,此标签位于imageview上。我想要那个标签wordwrap并转到第二行。现在它就像这样但不起作用。
@IBAction func textchanged(_ sender: UITextField) {
if(mylabel.frame.minX < imageview.frame.minX && mylabel.frame.maxX > imageview.frame.maxX)
{
mylabel.frame = CGRect(x: mylabel.frame.origin.x, y: mylabel.frame.origin.y, width: mylabel.frame.width, height: mylabel.frame.height * 2 )
mylabel.numberOfLines = 2
mylabel.lineBreakMode = NSLineBreakMode.byWordWrapping
mylabel.sizeToFit()
}
mylabel.numberOfLines = lines
mylabel.text = textfield.text
mylabel.sizeToFit()
}
答案 0 :(得分:1)
从Xib中的标签中移除高度约束(如果已设置高度约束)
并使用此
label.lineBreakMode = NSLineBreakMode.ByWordWrapping
label.numberOfLines = 0
label.text = textfield.text
答案 1 :(得分:0)
尝试更新委托功能
中的标签func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool
另请参阅uitextfield委托已正确设置