programing

UITextField 반환 키에 대한 작업을 추가하는 방법은 무엇입니까?

javajsp 2023. 10. 6. 20:53

UITextField 반환 키에 대한 작업을 추가하는 방법은 무엇입니까?

내 보기에는 버튼과 텍스트 필드가 있습니다.텍스트 필드를 클릭하면 키보드가 나타나고 텍스트 필드에 쓸 수 있으며 다음을 추가하여 버튼을 클릭하여 키보드를 종료할 수도 있습니다.

[self.inputText resignFirstResponder];

이제 키보드의 반환 키를 활성화하고 싶습니다.내가 키보드를 누를 때 키보드는 사라질 것이고 무슨 일이 일어날 것입니다.이거 어떻게 해요?

"자체" 가입 확인UITextFieldDelegate입력 텍스트를 초기화합니다.

self.inputText.delegate = self;

"self"에 다음 메서드를 추가합니다.

- (BOOL)textFieldShouldReturn:(UITextField *)textField {
    if (textField == self.inputText) {
        [textField resignFirstResponder];
        return NO;
    }
    return YES;
}

또는 스위프트:

func textFieldShouldReturn(_ textField: UITextField) -> Bool {
    if textField == inputText {
        textField.resignFirstResponder()
        return false
    }
    return true
}

swift 3.0의 확장 스타일로

먼저 텍스트 필드에 대한 대리인을 설정합니다.

override func viewDidLoad() {
    super.viewDidLoad()
    self.inputText.delegate = self
}

그 다음에 따라라.UITextFieldDelegate당신이 보기에 컨트롤러의 내선으로

extension YourViewController: UITextFieldDelegate {
    func textFieldShouldReturn(_ textField: UITextField) -> Bool {
        if textField == inputText {
            textField.resignFirstResponder()
            return false
        }
        return true
    }
}

다른 답변들은 올바르게 작동하지만, 저는 다음을 수행하는 것이 더 좋습니다.

보기 DidLoad(), 추가

self.textField.addTarget(self, action: #selector(onReturn), for: UIControl.Event.editingDidEndOnExit)

함수를 정의합니다.

@IBAction func onReturn() {
    self.textField.resignFirstResponder()
    // do whatever you want...
}

viewDidLoad의 textField 설정 기능에 target을 추가한 다음 관련 기능을 Selector로 추가하면 됩니다.

override func viewDidLoad() {
    super.viewDidLoad() 
    textField.addTarget(self, action: #selector(textFieldShouldReturn(sender:)), for: .primaryActionTriggered)
}

@objc func textFieldShouldReturn(sender: UITextField) {
    textField.resignFirstResponder()
}

키보드 완료 버튼을 누를 때 "primaryActionTriggered" UIEvent에 Target-Action UIKit 메커니즘을 사용합니다.

textField.addTarget(self, action: Selector("actionMethodName"), for: .primaryActionTriggered)

언급URL : https://stackoverflow.com/questions/11553396/how-to-add-an-action-on-uitextfield-return-key