在开发中经常会遇到需要用户输入的情况,比如:登录、注册;
以前的做法是如果用户没有输入内容,点击了登录按钮,弹出一个警告“内容为空”,
更友好的做法是,在用户完成必须填写的内容后,登录按钮才可点击,
效果如下图:
这就需要监听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>
完毕!
时间: 2024-10-08 09:39:35