티스토리 뷰

UITextField에서 원하는 내용을 입력하고 엔터를 누르면 함수가 실행되게끔 하고 싶다면

 

public func textFieldShouldReturn(_ textField: UITextField) -> Bool {
    // textField.resignFirstResponder()
    sendMessage()
    return true
}

 

로 하면 된다.
이 때 sendMessage()는 내가 실행하고자 하는 함수이고,
textField.resignFirstResponder()는 키보드가 활성화 되어있다면 키보드를 비활성화 하는 함수이다.

 

만약,
UITextView에서도 엔터 입력을 감지하고 싶다면

 

public func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool {
    if text == "\n" {
        sendMessage(textView)
    }
    return true
}

 

로 설정하면 된다.
textView는 multi-line 입력 폼이기 때문에 엔터 입력을 감지하는 함수가 없어서 약간의 트릭처럼 사용하는 방법이다.

댓글