代码改变世界

IOS - 关闭键盘的方法

2015-08-18 21:36  HermitCarb  阅读(231)  评论(0编辑  收藏  举报

一、点击键盘return(1)
在.h文件中定义IBOutlet和IBAction。

1 @property (nonatomic, retain) IBOutlet UITextField *textField;
2 - (IBAction) textFieldDoneEditing:(id)sender;


在.m文件中实现上面的定义

1 @synthesize textField;
2 
3 - (IBAction) textFieldDoneEditing:(id)sender
4 {
5 [sender resignFirstResponder];
6 }

 

在storyboard文件中选中对应的controller,设计视图,并连接textField,选中视图中的textField,打开tilities窗口,打开connection inspector选项卡

把Events里的“Did End On Exit”后面的圈拖到fileOnwer上并选中“textFieldDoneEditing”。


二、点击键盘return(2)(适合几乎全部代码设计UI时使用)
1.在.h文件中实现UITextFieldDelegate接口,并定义textField:

1 @property (nonatomic, retain) IBOutlet UITextField *textField;

 

2.在.m文件中实现上面的定义,并在viewDidLoad方法中指定textField的代理:

1 @synthesize textField;
2 textField.delegate = self;


实现代理方法textFieldShouldReturn:

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

 


三、点击背景关闭键盘(1)
1.在.h文件中定义IBOutlet和IBAction:

1 - (IBAction) textFieldDoneEditing:(id)sender;

 

2.在.m文件中实现上面的定义:

1 - (IBAction) textFieldDoneEditing:(id)sender
2 {
3     [textField resignFirstResponder];
4 } 


3.在storyboard文件里,打开tilities窗口,打开identity inspector选项卡,在把class从UIView改为UIControl。打开connection inspector选项卡,把Events里的“Touch Down”后面的圈拖到fileOnwer上并选中“textFieldDoneEditing”。

 

四、点击背景关闭键盘(2)(不是特别好用,UI简单的可以使用)

1.在.m文件中的viewDidLoad(或viewWillAppear,viewDidAppear)方法中,新建手势:

1 UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(textFieldDoneEditing:)];

 

2.在.m文件中增加一个方法:

1 - (void) textFieldDoneEditing:(id)sender
2 {
3     [textField resignFirstResponder];
4 }