在UITextField的定制中,我们常常会因为编辑出现软键盘,但是编辑完后,怎么隐藏键盘?
其实隐藏软键盘,可以从文本输入框的定制原理中讲。文本输入框(UITextField)在被选中并获得焦点时,将自动显示键盘,解析这一个过程,其实就是当UITextField成为第一个响应者(FirstResponder)时,显示键盘。自然,要隐藏键盘,只需要是UITextField失去第一响应者位置就行。
所以只需要:
[textField resignFirstResponder];
demo代码中会添加一些UITextField的常用定制方法,共享之!
- (void)viewDidLoad
{
[super viewDidLoad];
// 绘制界面
self.view.backgroundColor = [UIColor orangeColor];
UILabel *label = [[UILabel alloc]init];
label.text = @"键盘";
label.frame = CGRectMake(0, 0, 60, 40);
label.center = CGPointMake(80, 40);
label.textAlignment = NSTextAlignmentCenter;
[self.view addSubview:label];
// 定制UITextField的对象:textFiled;
textFiled = [[UITextField alloc]initWithFrame:CGRectMake(0, 0, 300, 200)];
textFiled.center = CGPointMake(160, 200);
textFiled.borderStyle = UITextBorderStyleRoundedRect;
// 输入前的默认文字
textFiled.text = @"input!";
// 输入时的提示文字
textFiled.placeholder = @"请输入信息";
// 输入时,默认文字取消
textFiled.clearsOnBeginEditing = YES;
[self.view addSubview:textFiled];
//定制一个button,以触发隐藏键盘的事件
UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[button setTitle:@"确定" forState:UIControlStateNormal];
button.tintColor = [UIColor blueColor];
button.frame = CGRectMake(0, 0, 60, 40);
button.center = CGPointMake(240, 40);
[button addTarget:self action:@selector(ActionOne) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:button];
}
- (void)ActionOne
{
// 完毕后隐藏键盘
[textFiled resignFirstResponder];
}
demo下载