2017-06-06 125 views
0

这里我试试这个代码....... enter image description here我试试这个代码...我想在验证用户名和密码时禁用一个按钮。 如果我的用户名和密码是正确的,那么我的按钮将启用...但我没有得到正确的答案。如何在验证按钮时启用/禁用按钮?

+0

添加代码文本不图请。 –

+0

你确定你的文本字段的委托设置正确吗? –

+0

[swift - 验证UITextField]的可能重复(https://stackoverflow.com/questions/31495188/swift-validating-uitextfield) – Adrian

回答

0

它看起来像我sbutton是一个IBAction,而不是一个插座。如果是这样,你的代码可能不会编译。您需要控制 - 从您的按钮拖放到您的代码中,为您的按钮创建IBOutlet并使用插座启用/禁用按钮。

+0

谢谢你,先生..我创建了一个插座并完成了你所说的......但是输入正确的用户名和密码后,我的按钮仍然被禁用。 –

+0

编辑您的问题以显示您的更新代码。 (不是您的代码的屏幕截图,而是您的实际代码作为文本。) –

0
-(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

如果不委托设为您的文本字段,然后设置委托如下

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; 
    } 
}