檢測退格的明確答案是通過創建UITextField的子類並覆蓋deleteBackward
屬性。iOS:使用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嗎? –