监听UITextField输入内容的简单实现

来源:互联网 发布:产品系统php设计案例 编辑:程序博客网 时间:2024/04/30 10:56

在开发中经常会遇到需要用户输入的情况,比如:登录、注册;

以前的做法是如果用户没有输入内容,点击了登录按钮,弹出一个警告“内容为空”,

更友好的做法是,在用户完成必须填写的内容后,登录按钮才可点击,


效果如下图:



这就需要监听textField中输入的内容,很容易想到去UITextField代理方法里寻找答案,这里有一个简单的方式来实现:

<span style="font-size:14px;">- (void)viewDidLoad{    _telTextField = [[UITextField alloc]initWithFrame:frame1];    //直接给textField添加事件    [_telTextField addTarget:self action:@selector(listenTextField:) forControlEvents:<span style="color:#ff0000;">UIControlEventEditingChanged</span>];    [self.view addSubview:_telTextField];        _passwordTextField = [[UITextField alloc]initWithFrame:frame2];    //直接给textField添加事件    [_passwordTextField addTarget:self action:@selector(listenTextField:) forControlEvents:<span style="color:#ff0000;">UIControlEventEditingChanged</span>];    [self.view addSubview:_passwordTextField];}</span>

实现监听方法:

<span style="font-size:14px;">- (void)listenTextField:(MWTextField*)tf{    if (_telTextField.text.length > 0 && _passwordTextField.text.length > 0) {        [self setLoginBtnState:YES];    }    else {        [self setLoginBtnState:NO];    }}- (void)setLoginBtnState:(BOOL)canClick{    if (canClick) {        _loginBtn.userInteractionEnabled = YES;        _loginBtn.backgroundColor = MainColor;    }    else {        _loginBtn.userInteractionEnabled = NO;        _loginBtn.backgroundColor = [UIColor lightGrayColor];    }}</span>

完毕!

0 0
原创粉丝点击