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

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

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

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


效果如下图:

监听UITextField输入内容的简单实现_第1张图片


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

- (void)viewDidLoad
{
    _telTextField = [[UITextField alloc]initWithFrame:frame1];
    //直接给textField添加事件
    [_telTextField addTarget:self action:@selector(listenTextField:) forControlEvents:UIControlEventEditingChanged];
    [self.view addSubview:_telTextField];
    
    _passwordTextField = [[UITextField alloc]initWithFrame:frame2];
    //直接给textField添加事件
    [_passwordTextField addTarget:self action:@selector(listenTextField:) forControlEvents:UIControlEventEditingChanged];
    [self.view addSubview:_passwordTextField];
}

实现监听方法:

- (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];
    }
}

完毕!

你可能感兴趣的:(iOS那些事)