2013-08-28 3 views
1

의 방법은 내가 UITextfield 서브 클래스에서 텍스트 입력을 관찰 할 수 있습니다. 이를 위해 해당 서브 클래스에서 UIKeyInput 프로토콜 메소드를 구현하려고합니다. 그러나 insertText:hasText 메서드는 호출되지 않습니다. 그러나 deleteBackward 메서드가 호출됩니다. 왜 이러한 방법이 호출되지 않는지 아십니까? 내가 UIView 하위 클래스와 동일한 시나리오를 테스트 할 때 나는 UIKeyInput 프로토콜의 모든 메소드가 호출되는 것을 보았습니다.의 UITextField의 서브 클래스가있는 InsertText에 응답하지 : UIKeyInput 프로토콜

이 작동하지 않는 경우 UITextField 서브 클래스의 텍스트 입력을 주목해야 할 다른 방법이?

은 내가 UITextFieldDelegate- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string 방법에 대해 알고. 하지만 UITextField의 하위 클래스에있는 문자 항목을 제어하려고하는데 대리자가 아닌 것입니다.

답변

0

UITextField이 기능을 UITextInput 프로토콜을 사용하는 것 같다. 아마도 UITextField을 사용하여 자체 위임을 할 수 있습니다.

+0

UITextInput 프로토콜을 사용해 보았지만 여전히 insertText : 메서드가 호출되지 않았습니다. 나는 그 자체로 문자 엔트리를 제어 할 수있는 일반적인 UITextField의 서브 클래스를 만들고 싶다. 다른 클래스가 UITextField의 하위 클래스 객체의 대리자를 원하는 객체에 할당 할 수있는 유연성을 남기고 싶습니다. – sridevi