2013-02-20 161 views
3

這可能是一個簡單的問題給某人。UITextField控制關閉按鈕和鍵盤返回鍵

如何控制鍵盤的返回鍵。我有一個設置是這樣的:

usernameField.returnKeyType = UIReturnKeyNext; 

其他這樣的:

passwordField.returnKeyType = UIReturnKeyDone; 

我想對於每個不同的方法,但也可以通過if語句的textField.tag如果被控制必要。

其次,當點擊UITextField中的關閉按鈕時,是否有控制權(有一些代碼運行)。我指的是文本字段中顯示的光x,一旦字段中有文本,就會清除其數據的字段。或者一種不在場內有這個密封圖標的方法?

回答

4

您可以檢查該文本框,然後調用所需的相應的方法,

- (BOOL)textFieldShouldReturn:(UITextField *)textField //or implement - (void)textFieldDidEndEditing:(UITextField *)textField 
{ 
    if (textField == self.usernameField) { 
     [self callUserNameMethod]; 
    } else if (textField == self.passwordField) { 
     [self callPasswordMethod]; 
    } 

    [textField resignFirstResponder]; 
    return YES; 
} 

也可以提到使用Tag屬性在你的問題。請注意,除了使用這些代表以外,沒有其他方法可以在鍵盤上輕觸默認返回按鈕時設置方法。有notifications available for keyboard show and hide如果需要可以使用。

可以實現委託方法清除按鈕爲:

- (BOOL)textFieldShouldClear:(UITextField *)textField { 
    //write code to be executed on tap of clear button 
    return YES; 
} 

或者你可以設置clearButtonModeUITextFieldViewModeNever禁用它。

+1

太棒了,正是我需要的!謝謝 – StuartM 2013-02-21 11:37:57

2

爲了回答你問題的第二部分,

usernameField.clearButtonMode = UITextFieldViewModeNever;