언제 알림을받을 수 있습니까? UITextField
becomeFirstResponder
?UITextField가 FirstResponder가 될 때 알림을받습니다.
는 내가 통지 또는 사용자가이 텍스트 필드에 첫 번째로 반응을 이벤트를 처리 취득 할 becomeFirstResponder
에 의해 처음 응답자되기 위해 설정 isFirstResponder
나처럼 확인할 수 있습니다.
감사합니다.
언제 알림을받을 수 있습니까? UITextField
becomeFirstResponder
?UITextField가 FirstResponder가 될 때 알림을받습니다.
는 내가 통지 또는 사용자가이 텍스트 필드에 첫 번째로 반응을 이벤트를 처리 취득 할 becomeFirstResponder
에 의해 처음 응답자되기 위해 설정 isFirstResponder
나처럼 확인할 수 있습니다.
감사합니다.
당신은 텍스트 필드의 대리자를 제공해야하고이 옵션 대리자 메서드를 구현합니다
- (void)textFieldDidBeginEditing:(UITextField *)textField;
UITextFieldDelegate
방법 textFieldDidBeginEditing:
을 구현하는 외에, 당신은 UITextFieldTextDidBeginEditingNotification
알림을 등록 할 수 있습니다.
알림 방법이 될 수있다 :
- (void)someTextFieldDidBeginEditing:(NSNotification *)notification {
UITextField *textField = (UITextField *)notification.object;
}
은 OSX를 들어 당신이 NSControlTextDidBeginEditingNotification
에 의존 할 때 부작용을 가진 버튼을 알고 있어야합니다.
편집을 시작하고 일부 버튼을 누른 다음 텍스트 필드 편집을 다시 시작하면 편집을 다시 시작할 때 두 번째 NSControlTextDidBeginEditingNotification
이 표시되지 않습니다.
이 문제로 인해 문제가 발생하는 경우는 UITextFieldTextDidChangeNotification
일 수 있습니다.
참석자가 반드시 참석해야합니다. 컨트롤러가 내 UITextField 하위 클래스의 대리인 이었기 때문에 내 상황에서는 사용할 수 없었고 자리 표시 자 텍스트를 수정해야했습니다. 대신에 나는 - (BOOL)canBecomeFirstResponder;
& - (BOOL)resignFirstResponder;
의 메서드를 재정의합니다. super를 부르십시오.
예, super에 전화하는 것을 잊지 말고 내 문제를 해결했습니다. –