2012-06-26 58 views
1

我有2個textfields.I正在檢查兩個文本字段是否填充,比我更改鍵盤返回按鈕爲「去」。否則,它將保持爲「返回」。 其工作正常,鍵盤的返回類型改變,只有當我點擊文本框。 我想要自動更改它,一旦兩個文本字段都是非空的。如何更改鍵盤的返回類型,iPhone

我試圖把我的代碼

if ([txtEmail.text length] > 0 && [txtPass.text length] > 0) { 
    // Set the return key here, e.g: 
    txtEmail.returnKeyType = UIReturnKeyGo; 
    txtPass.returnKeyType = UIReturnKeyGo; 
} 
else { 
    // Set the return key here, e.g: 
    txtEmail.returnKeyType = UIReturnKeyDefault; 
    txtPass.returnKeyType = UIReturnKeyDefault; 
} 

- (void)textFieldDidBeginEditing:(UITextField *)textField{} 

,但它不是爲我工作。

任何想法,我怎麼能改變返回按鈕從返回到去,當他的字段都是非空時,自動,用戶沒有水龍頭在任何文本字段來改變它。

+1

可能是你可以嘗試使用方法 - (BOOL)文本框:(*的UITextField)文本框shouldChangeCharactersInRange:(NSRange)範圍replacementString:(的NSString *)字符串 – rishi

回答

2

設置委託雙方textfields.then投入的viewDidLoad代碼

if ([txtEmail.text length] > 0 && [txtPass.text length] > 0) 
{ 
txtEmail.returnKeyType = UIReturnKeyGo; 
txtPass.returnKeyType = UIReturnKeyGo; 
} 
else 
{ 

txtEmail.returnKeyType = UIReturnKeyDefault; 
txtPass.returnKeyType = UIReturnKeyDefault; 
} 
1

textFieldDidBeginEditting火災編輯開始之前,所以顯然文字在那裏沒有改變。

您需要做的是檢測按鍵來發現更改並基於該更改returnKey類型。看到這個問題:How can I detect a KeyPress event in UITextField? - 它涉及按鍵事件。

1
//have you set the delegate of your textField if not then please set it.. 

txtEmail.delegate = self; 
txtPass.delegate = self; 
1

檢查在你的頭文件創建UItextFields參考後一度UITextFieldDelegate protocal和

不要忘記設置委託自我。

txtEmail.delegate = self; 
txtPass.delegate = self;