2016-11-30 1 views
1

이 문제가 검색되었지만 찾은 솔루션이 제대로 작동하지 않았습니다. 나는 텍스트 필드가 있습니다. 사용자가 텍스트 필드에 글을 쓰면 레이블에 글을 씁니다. 이 라벨은 라벨이 이미지보기 한도에 도달하면 이미지 뷰에 있습니다. 나는 그 라벨의 랩핑을 원하고 두번째 라인으로 간다. 이제는 이렇게되지만 작동하지 않습니다. 당신이 설정 한 경우Swift의 단어 포장 레이블

@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

+3

이을 시도해보십시오 인해 캐치되지 않는 예외 'NSInvalidArgumentException', 이유에'응용 프로그램을 종료 : :이 오류를 제공 label.numberOfLines = 0 – TheAppMentor

답변

0

위임 기능에 한번에 업데이트 라벨

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

또한 (그 UITextField에 위임이 제대로 XIB에 라벨에서

+0

'- [instayaz2.ViewController textFieldShouldEndEditing는 :] : 인식 할 수없는 선택기 예를 0x7fed1640a7d0로 전송 '' –

+0

대의원은 이렇게됩니다. UIControlEvents.editingChanged) panRecognizer.addTarget (self, action : #selector (ViewController.draggedView)) : textfield.delegate = self textfield.addTarget (자습서, 동작 : # 선택기 (UITextFieldDelegate.textFieldShouldEndEditing (_ :))))) –

+0

try textfield.delegate = self –

0

제거 높이 제약 조건을 설정 참조 높이 제한)

및 사용 이

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

높이 제약이 없습니다. –

+0

다음이 대답은 잘 작동합니다 .. –