[UITextFieldVariable becomeFirstResponder]; 키보드가 화면에 표시됩니다.UITextField - 내장 iPhone 키보드에서 입력을 감지합니까?
사용자가 키보드의 문자를 입력하면 어떻게 감지 할 수 있습니까? 키를 누를 때마다 알려 드리고 싶습니다.
미리 감사드립니다.
[UITextFieldVariable becomeFirstResponder]; 키보드가 화면에 표시됩니다.UITextField - 내장 iPhone 키보드에서 입력을 감지합니까?
사용자가 키보드의 문자를 입력하면 어떻게 감지 할 수 있습니까? 키를 누를 때마다 알려 드리고 싶습니다.
미리 감사드립니다.
NSNotificationCenter
을 사용하고 UITextFieldTextDidChangeNotification
을 살펴보십시오.
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(textFieldChanged)
name:UITextFieldTextDidChangeNotification
object:textField];
이제 함수 -(void)textFieldChanged;
를 구현하고이 함수가 호출 될 때마다 기존의 텍스트로 UITextField
에 새 텍스트를 비교한다. 변경된 것은 무엇이든 눌러 진 버튼입니다.
과 UITextFieldTextDidEndEditingNotification
에 대해 비슷한 작업을 수행하여 텍스트가 입력되지 않았더라도 (예 : 백 슬래시) 버튼이 눌러 졌는지 확인하십시오.
텍스트 필드에 대리인을 지정하십시오. 대리자의 -textField:shouldChangeCharactersInRange:replacementString:
메서드는 사용자가 키보드에서 문자를 입력하는 것을 포함하여 텍스트를 변경할 때마다 호출됩니다.
텍스트 필드가 비어 있고 사용자가 백 슬래시를 누르면이 메서드는 호출되지 않습니다. – Dimme
Dimme, 텍스트가 비어 있고 백 슬래시를 누르면 여전히 작동하지 않습니다. UITextFieldTextDidChangeNotification을 사용하는 솔루션이 위임자의 textField와 다른 점은 무엇입니까? shouldChangeCharactersInRange : replacementString? 그렇지 않습니다. 둘 다 똑같습니다. 이것은 모든 백 스페이스 키를 가로 채기 위해 작동하지 않습니다. – PostCodeism
+1 좋은 답변 : –
굉장! @selector (textFieldChanged)를 사용하기 위해 @selector 함수 이름 뒤에 콜론을 제거해야했습니다. – RanLearns
고쳐 주셔서 감사합니다.) – Dimme