2017-06-06 122 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; 
    } 
}