Swift中的Wordwrap标签

时间:2016-11-30 11:24:34

标签: ios swift uitextfield uilabel word-wrap

我搜索了这个问题,但我找到的解决方案并不适用于我。我有一个文本域。当用户将某些内容写入文本字段时,它会将其写入标签。当标签达到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()
}

screenshot

2 个答案:

答案 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委托已正确设置