UFO ET IT

UITextField - capture return 버튼 이벤트

ufoet 2023. 6. 2. 21:42
반응형

UITextField - capture return 버튼 이벤트

사용자가 UITextField를 편집하는 동안 "돌아가기" 키보드 버튼을 눌렀을 때 어떻게 감지할 수 있습니까?사용자가 "돌아가기" 버튼을 눌렀을 때 키보드를 해제하려면 이 작업이 필요합니다.

감사해요.

- (BOOL)textFieldShouldReturn:(UITextField *)textField {
    [textField resignFirstResponder];
    return NO;
}

딜러를 스토리보드에 배치하는 것을 잊지 마십시오.

여기에 이미지 설명 입력

위임은 필요하지 않습니다. 다음은 한 줄로 되어 있습니다.

- (void)viewDidLoad {
    [textField addTarget:textField
                  action:@selector(resignFirstResponder)
        forControlEvents:UIControlEventEditingDidEndOnExit];
}

안타깝게도 Storyboard에서 직접 작업을 수행할 수는 없지만(Storyboard에서 작업을 내보내는 컨트롤에 작업을 연결할 수는 없습니다) 중간 작업을 통해 작업을 수행할 수는 있습니다.

SWIFT 3.0

override open func viewDidLoad() {
    super.viewDidLoad()    
    textField.addTarget(self, action: #selector(enterPressed), for: .editingDidEndOnExit)
}

EnterPressed() 함수에 원하는 모든 동작을 입력합니다.

func enterPressed(){
    //do something with typed text if needed
    textField.resignFirstResponder()
}

이제 전송된 이벤트 '종료 시 종료됨'을 사용하여 스토리보드에서 이 작업을 수행할 수 있습니다.

보기 컨트롤러 하위 클래스에서 다음을 수행합니다.

 @IBAction func textFieldDidEndOnExit(textField: UITextField) {
    textField.resignFirstResponder()
}

원하는 텍스트 필드의 스토리보드:

여기에 이미지 설명 입력

스위프트 5

textField.addTarget(textField, action: #selector(resignFirstResponder), for: .editingDidEndOnExit)

UITextFieldDelegate를 사용한 빠른 버전:

func textFieldShouldReturn(_ textField: UITextField) -> Bool {
    resignFirstResponder()
    return false
}
- (BOOL)textFieldShouldReturn:(UITextField *)txtField 
{
[txtField resignFirstResponder];
return NO;
}

Enter 버튼을 클릭하면 이 위임 메서드가 호출됩니다.이 대리자 메서드에서 반환 단추를 캡처할 수 있습니다.

언급URL : https://stackoverflow.com/questions/976861/uitextfield-capture-return-button-event

반응형