如何在验证按钮时启用/禁用按钮?

How to enable/disable a button while validating a button?

提问人:Kavitha Madhu 提问时间:6/6/2017 更新时间:6/13/2017 访问量:65

问:

在这里,我尝试以下代码.......在此处输入图像描述我试试这个代码...我想在验证用户名和密码时禁用按钮。 如果我的用户名和密码正确,那么我的按钮将启用...但我没有得到正确的答案。

iOS的iPhone iOS7 iOS5

评论

0赞 Mo Abdul-Hameed 6/6/2017
请将您的代码添加为文本而不是图片。
0赞 Mo Abdul-Hameed 6/6/2017
您确定文本字段的委托设置正确吗?
0赞 Adrian 6/6/2017
swift 的可能重复 - 验证 UITextField
1赞 Duncan C 6/6/2017
不要发布代码的图像。将代码复制到问题中,选择它,然后使用代码格式化程序将其格式化为代码。你遇到了什么问题?您是否遇到编译器错误?运行时错误?您的代码是否运行没有错误,但没有像您期望的那样禁用按钮?
0赞 Birendra 6/6/2017
你的如果...否则条件是错误的。在 if 语句中 sbutton.enable = yes

答:

0赞 Duncan C 6/6/2017 #1

在我看来,它就像一个 IBAction,而不是一个出口。如果是这样,您的代码可能无法编译。您需要从按钮按住 Control 键拖动到代码中,以便为按钮创建 IBOutlet,并使用插座启用/禁用按钮。sbutton

评论

0赞 Kavitha Madhu 6/6/2017
谢谢你,先生。。我创建了一个出口并按照你说的做了..但是输入正确的用户名和密码后,我的按钮仍然处于禁用状态。
0赞 Duncan C 6/6/2017
编辑您的问题以显示更新后的代码。(不是代码的屏幕截图,而是文本形式的实际代码。
0赞 Nirmalsinh Rathod 6/6/2017 #2
-(void)checkValidation
{
    NSString *strUserName = [_txtUsername.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
    NSString *strPassword = [_txtPassword.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];

    if([strUserName isEqualToString:@"YOURSTRING"] && [strPassword isEqualToString:@"YOURSTRING"])
    {
        // make your button enable
    }
    else
    {
        // make it disable
    }
}
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{

    NSString *newString = [textField.text stringByReplacingCharactersInRange:range withString:string];
    newString = [newString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];

    [self performSelector:@selector(checkValidation) withObject:nil afterDelay:0.3];

    return TRUE;
    }
1赞 Samiul Islam Sami 6/13/2017 #3

如果未将委托设置为文本字段,则按如下方式设置委托

self.stext1.delegate = self;
self.stext2.delegate = self;

然后实现这个函数

-(void)enableDisableSave {

    NSString * userName = @"kavitha";
    NSString * password = @"kavitha";

    if([userName isEqualToString:self.stext1.text] && [password isEqualToString:self.stext2.text]) {
        self.sendBtn.enabled = YES;
    } else {
        self.sendBtn.enabled = NO;
    }
}