Четкий ответ на обнаружение обратного пространства заключается в создании подкласса UITextField и переопределении свойства deleteBackward
.iOS: обнаружение backspace в пустом UITextField с подклассом UITextField
Я создал подкласс подкласса UITextField, но я получаю эту ошибку:
'NSInvalidArgumentException', reason: '-[UITextField setMyDelegate:]: unrecognized selector sent to instance
Это мой подкласс код:
Мой TextField.h:
@protocol MyTextFieldDelegate <NSObject>
@optional
- (void)textFieldDidDelete;
@end
@interface MyTextField : UITextField<UIKeyInput>
//create "myDelegate"
@property (nonatomic, assign) id<MyTextFieldDelegate> myDelegate;
@end
My TextField.m:
- (void)deleteBackward {
[super deleteBackward];
if ([_myDelegate respondsToSelector:@selector(textFieldDidDelete)]){
[_myDelegate textFieldDidDelete];
}
}
В моей ViewController, что я хотел бы получить доступ к UITextField подкласса я делаю следующее:
#import "MyTextField.h"
<MyTextFieldDelegate>
@property (nonatomic, strong) IBOutlet MyTextField *passcode1;
self.passcode1.myDelegate = self;
Любые идеи относительно того, почему я получаю непризнанный ошибку выбора? Мне кажется, что я сделал все правильно в подклассе UITextField.
sry ... я пропустил это: P –
@ Mr.T любые идеи относительно того, почему я получаю ошибку? –
У вас есть метод textfieldiddlete в вашем контроллере? –