美文网首页
关于UITextfield常见的一些需求

关于UITextfield常见的一些需求

作者: 无关风月_546d | 来源:发表于2018-04-11 21:47 被阅读0次

1.实时监测 UITextfield 值的变化


直接检测法

[UIButton addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged];

- (void) textFieldDidChange:(id) sender {

    UIButton = (UITextField *)sender;

    NSLog(@"%@,%lu" , [UIButton text] , UIButton.text.length);

}

做登录窗口的时候可以判断用户账号密码是否超过规定长度

还有可以通过KVO,代理,通知,详情

https://blog.csdn.net/qxuewei/article/details/50727617


2.如何隐藏弹出的键盘?

(1):按return隐藏键盘

UITextField.delegate = self;

UITextField.returnKeyType =UIReturnKeyDone;//改变为完成键,按return时候自动隐藏键盘

- (BOOL)textFieldShouldReturn:(UITextField *)textField{

[textField resignFirstResponder];//取消第一响应者

return YES;

}

(2):点击空白处隐藏键盘

- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
    [self.view endEditing:YES];
}

如果textField在tableView上还可以实现下面的tableView的代理方法

-(void)tableView:(UITableView*)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{    [self.view endEditing:YES];

}

问题二:键盘键盘遮挡输入框的的问题

解决方案

- (void)textFieldDidBeginEditing:(UITextField *)textField {

//216是输入框在最底部时view移动的距离,具体移动多少距离,需要根据实际情况而定

self.view.y =self.view.y -216;

}

- (void)textFieldDidEndEditing:(UITextField *)textField{

self.view.y =self.view.y +216;

}


相关文章

网友评论

      本文标题:关于UITextfield常见的一些需求

      本文链接:https://www.haomeiwen.com/subject/drzzhftx.html