iOS开发资源关于iOS 那点事iOS学习笔记

addTarget方式和UITextFieldDelegate方

2016-02-22  本文已影响3230人  Z了个L

如图所示:

    //当账号与密码同时有值,登录按钮才能够点击
    self.accountTextF.delegate = self;
    self.pwdTextF.delegate = self;

    点击文本框的时候会自动调用该方法
    //是否允许改变文字.
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {

    NSLog(@"accountTextF==%@",self.accountTextF.text);
    NSLog(@"----%@",string);
    if (self.accountTextF.text.length && self.pwdTextF.text.length) {
        self.loginBtn.enabled = YES;
    }else {
        self.loginBtn.enabled = NO;
    }

    return YES;
}


[self.accountTextF addTarget:self action:@selector(textChange) forControlEvents:UIControlEventEditingChanged];
[self.pwdTextF addTarget:self action:@selector(textChange) forControlEvents:UIControlEventEditingChanged];

//当文本内容改变时调用
- (void)textChange
{
     NSLog(@"accountTextF==%@",self.accountTextF.text);
    //当账号与密码同时有值,登录按钮才能够点击
    self.loginBtn.enabled = self.accountTextF.text.length && self.pwdTextF.text.length;

}

效果图片:


看到没有,账号文本框中输入一个字符a,控制台就打印一个字符a,两者保持同步,所以在里面进行一些逻辑业务的判断,没有问题,所以最终结论是,只能用addTarget方式,不能用UITextFieldDelegate方式,谢谢大家

上一篇 下一篇

猜你喜欢

热点阅读