ios - 如何检查两个文本字段是否相同?

标签 ios objective-c

我知道这可能会被视为重复,但我向您保证不是。

大家都给出了类似这样的答案:

if ([_confirm.text isEqualToString: _password.text] || resultantLength2 < 3) {
            textField.textColor = [UIColor redColor];
            [_next setEnabled:NO];

        }else{
            [_next setEnabled:YES];
        }
}

那么为什么这不起作用呢?
- (BOOL) textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {

if (textField == _confirm || textField == _password) {
        int resultantLength2 = textField.text.length + string.length - range.length;

        NSLog(@"Length After Additions And Subtractions Will Be: %i letters", resultantLength2);

        if ([_confirm.text isEqualToString: _password.text] || resultantLength2 < 3) {
            textField.textColor = [UIColor redColor];
            [_next setEnabled:NO];

        }else{
            [_next setEnabled:YES];
        }
    }
    return YES;
}

我有一个禁用的下一个按钮

最佳答案

我们真正想要做的是在文本更改之后比较文本字段中的字符串,但目前,我们使用的是在文本更改之前触发的方法,并询问更改是否正常。

我们可以在这个方法中做一些技巧来让它正常工作,但是为什么不在值改变后检查它们呢?

在 View Controller 的 viewDidLoad ,添加这两行:

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

现在添加 textFieldDidChange:方法来比较文本字段中的值。
- (void)textFieldDidChange:(UITextField *)textField {
    if (![_confirm.text isEqualToString: _password.text]) {
        textField.textColor = [UIColor redColor];
        [_next setEnabled:NO];
    } else {
        [_next setEnabled:YES];
    }
}

关于ios - 如何检查两个文本字段是否相同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22949025/

相关文章:

ios - 在 didSelectRowAtIndexPath 中使用 unwind segue?

iphone - NSString 变量不是 NSstring

ios - 重复符号 Apple Mach-O 链接器错误

objective-c - 如何在 Cocoa 中获取 NSArray 的第一个 x 元素?

ios - Travis CI 的完整 Xcode 版本和设备名称/操作系统列表?

objective-c - IOS:两个具有两种不同委托(delegate)方法的 UIAlert

ios - 2012 年从 iPhone 媒体库上传文件

objective-c - 您如何获得 KVO 的可观察键路径列表?

ios - 通知回调中的 sleep 功能未按预期工作

Objective-C,授权无法执行功能