在View的UITextField中經常需要輸入完文字後隱藏軟鍵盤,要實現著一點要讓View的Controller實現UITextFieldDelegate代理,然後編寫相應的代碼。
- #import
- @interface TestVeiwController : UIViewController {
- IBOutlet UITextField *txt;
- }
- @property (nonatomic,retain) UITextField *txt;
- @end
然後記得要指定文本框的代理
- - (void)viewDidLoad {
- [super viewDidLoad];
- txt.delegate = self;
- }
點擊Enter的時候隱藏軟鍵盤:
- - (BOOL)textFieldShouldReturn:(UITextField *)textField
- {
- [textField resignFirstResponder];
- return YES;
- }
點擊取消(Cancel)或那個小差號的時候隱藏。注意這裡如return YES則無法隱藏,我采用了點變通的方法。
- - (BOOL)textFieldShouldClear:(UITextField *)textField
- {
- [textField resignFirstResponder];
- textField.text = @”";
- return NO;
- }
點擊View的其他區域隱藏軟鍵盤。
- - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
- {
- [txt resignFirstResponder];
- }
這裡直接用了我自定義的變量。
設置代理的步驟比較重要,別忘記了,要不沒反應