Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/103.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Swift中的Wordwrap标签_Ios_Swift_Uitextfield_Uilabel_Word Wrap - Fatal编程技术网

Ios Swift中的Wordwrap标签

Ios Swift中的Wordwrap标签,ios,swift,uitextfield,uilabel,word-wrap,Ios,Swift,Uitextfield,Uilabel,Word Wrap,我寻找这个问题,但我找到的解决方案对我不起作用。我有一个文本字段。当用户向textfield写入内容时,它会将其写入标签。当标签达到imageview限制时,此标签位于imageview上。我想要那个标签,然后转到第二行。现在是这样,但不起作用 @IBAction func textchanged(_ sender: UITextField) { if(mylabel.frame.minX < imageview.frame.minX && mylabel

我寻找这个问题,但我找到的解决方案对我不起作用。我有一个文本字段。当用户向textfield写入内容时,它会将其写入标签。当标签达到imageview限制时,此标签位于imageview上。我想要那个标签,然后转到第二行。现在是这样,但不起作用

    @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()
}
@IBAction func textchanged(u发送方:UITextField){
if(mylabel.frame.minXimageview.frame.maxX)
{
mylabel.frame=CGRect(x:mylabel.frame.origin.x,y:mylabel.frame.origin.y,宽度:mylabel.frame.width,高度:mylabel.frame.height*2)
mylabel.numberOfLines=2
mylabel.lineBreakMode=NSLineBreakMode.byWordWrapping
mylabel.sizeToFit()
}
mylabel.numberOfLines=行
mylabel.text=textfield.text
mylabel.sizeToFit()
}

尝试在委托函数中更新标签

func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool

还可以看到uitextfield委托已正确设置

从Xib中的标签中删除高度约束(如果已设置高度约束)

用这个

label.lineBreakMode = NSLineBreakMode.ByWordWrapping
label.numberOfLines = 0
label.text = textfield.text

尝试以下操作:label.numberOfLines=0它会出现以下错误:`由于未捕获的异常而终止应用程序'NSInvalidArgumentException',原因:'-[instayaz2.ViewController textfieldShouldediting::]:发送到实例0x7fed1640a7d0的未识别选择器'`委托如下所示;textfield.delegate=self textfield.addTarget(self,action:#选择器(UITextFieldDelegate.textfieldShouldediting(:),for:UIControlEvents.editingChanged)窗格识别器。addTarget(self,action:#选择器(ViewController.draggedView(:))尝试textfield.delegate=self它没有高度约束。