IOS 隐藏键盘。

在View的UITextField中经常需要输入完文字后隐藏软键盘,要实现着一点要让View的Controller实现UITextFieldDelegate代理,然后编写相应的代码。

 

  1. #import <UIKit/UIKit.h>
  2. @interface TestVeiwController : UIViewController<UITextFieldDelegate> {
  3. IBOutlet UITextField *txt;
  4. }
  5. @property (nonatomic,retain) UITextField *txt;
  6. @end

然后记得要指定文本框的代理

  1. - (void)viewDidLoad {
  2. [super viewDidLoad];
  3. txt.delegate = self;
  4. }

点击Enter的时候隐藏软键盘:

 

  1. - (BOOL)textFieldShouldReturn:(UITextField *)textField
  2. {
  3. [textField resignFirstResponder];
  4. return YES;
  5. }



点击取消(Cancel)或那个小差号的时候隐藏。注意这里如return YES则无法隐藏,我采用了点变通的方法。

  1. - (BOOL)textFieldShouldClear:(UITextField *)textField
  2. {
  3. [textField resignFirstResponder];
  4. textField.text = @”";
  5. return NO;
  6. }

点击View的其他区域隐藏软键盘。

  1. - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
  2. {
  3. [txt resignFirstResponder];
  4. }

这里直接用了我自定义的变量。

设置代理的步骤比较重要,别忘记了,要不没反应

原文地址:https://www.cnblogs.com/guanliyang/p/3795256.html