1

我想做一个 IF/Else 语句,只有当他输入正确的代码时才授予用户访问权限 - 例如,登录 - 如果他在用户名文本框中输入 John Smith,他将能够按登录按钮,否则将无法正常工作。

这是我的代码

    if ([usernameText.text is EqualToString:@"jzarate"]) {

(insert code that grants functionality to the "log in button")

else ([insert code that does not grant functionality to the "log in button"])

我也想对由数字组成的密码做同样的事情

4

2 回答 2

0

试试这个:

if ([usernameText.text is EqualToString:@"jzarate"]) 
{
    yourButton.enabled = YES;
}    
else 
{
    yourButton.enabled = NO;
}
于 2013-03-27T07:17:05.337 回答
0

我认为您正在寻找的是-(void)setUserInteractionEnabled:(BOOL)enabled.

您想要做的是将目标添加到您的 textField 的 editingDidEnd ,如下所示:

[textField addTarget:self action:@selector(editEnded:) forControlEvents:UIControlEventEditingDidEnd];

然后,您想通过实现 editEnded 方法将按钮设置为启用,例如:

-(void)editEnded:(UITextField *)textField {
    if ([textField.text isEqualToString:@"jzarate"]) {
        [button setEnabled:YES];
    }
    else {
        [button setEnabled:NO];
    }
 }

你只需要确保你有一个可以从 editEnded 方法内部访问的按钮的引用来执行此操作。

您还可以实现UIControlEventEditingDidBegin,或者UIControlEventEditingDidChange如果您想在编辑开始或 textField 中的值发生更改时将按钮设置为启用。

于 2013-03-27T07:18:29.067 回答