- 点击键盘done,键盘消失
- 点击任何地方,键盘消失
简介:本章内容很简单,但是由于存在一个新手犯的一点小错误,导致多浪费了45分钟。
内容:
首先我们新建两个文本输入框
在代码中添加文本框对应的内容:
.h中
@interface Button_ViewController : UIViewController{
UITextField *nameField;
UITextField *numberField;
}
@property (nonatomic,retain)IBOutlet UITextField *nameField;
@property (nonatomic,retain)IBOutlet UITextField *numberField;
在.m中
@synthesize nameField;
@synthesize numberField;
在storyboard中进行布局绑定(在Referencing Outlet中绑定)
绑定之后,检验是否绑定成功,所以我们在view初始化的时候,设置一个默认值试试,在 viewDidLoad中添加,
- (void)viewDidLoad {
[superviewDidLoad];
nameField.text =@"nameFiled";
// Do any additional setup after loading the view.
}
运行设置成功,下面来进入本章的两个知识点。
1.点击done的时候,键盘消失
第一步:在storyboard的键盘属性:Return key 选成 Done选项。
第二步:添加代码
.h
- (IBAction)any:(id)sender;
- (IBAction)any:(id)sender{
}
第三步:在storyboard中绑定改方法与Did end on Exit
完成:在点击done的时候,键盘就会消失,在一些教程中都介绍的是需要加一行代码:[sender resignFirstResponder];但是我没有加也是好用的,
2.点击任何空白地方,键盘消失
添加代码
.h
- (IBAction)backgroundTap:(id)sender;
-(IBAction)backgroundTap:(id)sender{
[nameFieldresignFirstResponder];
[numberFieldresignFirstResponder];
NSLog(@"backgroundTap");
}
在空白地方点击绑定点击事件,绑定改方法与touchDown事件,就实现了我们需要的点击空白键盘消失的功能。
PS:前面说了,我们浪费了45分钟的时间,原因就是没有在.m中添加:@synthesize,它的作用是如果你编译帮我们声明一下方法,如果不声明后面调用的时候,实际上是早不到的,其实编译器对这种问题应该报个错误出来,否则很容易遗漏掉的。