0
我正在使用BSKeyboard Controls在用戶名和密碼的登錄字段上的鍵盤上方顯示下一個/上一個和完成按鈕。UITextField和鍵盤控件檢查字段是否有數據
我想實現的是: - 當領域的一個空白完成按鈕應該說「完成」 - 當這兩個領域都至少有一個字符應該說「登錄」
我明白有多種方法來檢查文本字段內容,hasText isEqualToString!= nil等。但我想在這裏檢查字符我猜。
我需要知道什麼是放置if語句和使用哪個語句的最佳位置。
我的字段
self.usernameField
self.passwordField
我的鍵盤控制更新這樣的:
self.keyboardControls.doneTitle = NSLocalizedString(@"KeyboardControlsDone", @"test");
OR
self.keyboardControls.doneTitle = NSLocalizedString(@"KeyboardControlsLogin", @"test");
更新方法:
NSString *newText = [textField.text stringByReplacingCharactersInRange:range withString:string];
UITextField *otherTextField;
if (textField == self.passwordField)
{
otherTextField = self.usernameField;
}
else
{
otherTextField = self.passwordField;
}
if ([newText length] > 0 && [otherTextField.text length] > 0)
{
self.keyboardControls.doneTitle = NSLocalizedString(@"KeyboardControlsLogin",@"Button for Keyboard Controls on Login page");
} else {
self.keyboardControls.doneTitle = NSLocalizedString(@"KeyboardControlsDone", @"test");
}
謝謝,我更新了我的問題文本。我現在遇到的困難是,如果你輸入用戶名,然後輸入密碼(這工作正常的按鈕改變登錄),但如果你然後清除密碼(或回到用戶名和清除用戶名),它不會改回完成。 – StuartM 2013-02-20 22:56:16
你是對的,如果用戶清除文本字段,則委託方法不會被觸發,請參閱我的編輯中的解決方案。 – e1985 2013-02-21 00:36:35
我實際上使用了uitextfield清除方法: - (BOOL)textFieldShouldClear:(UITextField *)textField然後將按鈕更改爲完成,要麼工作。謝謝 – StuartM 2013-02-21 12:30:57