UITextField 单行文本输入框
如何关闭键盘?
方式1: 让正在得到焦点的文本框 放弃第一响应者身份
[usernameField resignFirstResponder];
方式二:让文本输入框所在的 父视图, 结束当前的编辑状态
[self.view endEditing:YES];
什么时候关闭键盘?
-方式1 :点击屏幕的空白处
–重写控制器的 touchesBegan 方法即可,在这个方法中编写如何关闭键盘的代码
-方式2: 由某个控件触发
–实现控件的事件处理方法,,在这个方法中编写如何关闭键盘的代码
-方式3:点击键盘右下角return
–为文本框连线一个事件,事件的类型一定要选 “Did End On Exit”,只要该事件被关联,键盘就自动收起
//当文本框编辑时调用
- (IBAction)editingChanged:(UITextField*)sender {
NSLog(@"%@",sender.text);
if(self.userNameField.text.length != 0 && self.passwordField.text.length != 0){
//如果 用户名 密码 都不是空的 让Button 激活
self.loginButton.enabled = YES;
return;
}
self.loginButton.enabled = NO;
}
- (IBAction)returnButtonClick:(id)sender {
if (self.passwordField == sender) return;
//设置 密码输入框为 第一响应者身份
[self.passwordField becomeFirstResponder];
}
//用户名输入框 点 return 后执行的方法
- (IBAction)usernameReturn:(id)sender {
//设置 密码输入框为 第一响应者身份
[self.passwordField becomeFirstResponder];
}
- (IBAction)passWordReturn:(id)sender {
}
-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
// //结束父视图编辑
[self.view endEditing:YES];
//结束textField第一响应者身份
// [self.userNameField resignFirstResponder];
// [self.passwordField resignFirstResponder];
}
- (IBAction)loginButtonClick:(id)sender {
if ([self.userNameField.text isEqualToString:@"abc"] && [self.passwordField.text isEqualToString:@"123"] ) {
self.label.text = @"登录成功";
return;
}
self.label.text = @"登录失败";
//收起键盘
[self.view endEditing:YES];
}