4

我一直想弄清楚如何讓UIKeyboard上的下一個按鈕來加載下一個UITextField ..我有兩個單元格,名稱和電子郵件我想從名稱到使用Next按鈕發送電子郵件。UIKeyboard下一個按鈕不會去下一個UITextField

到目前爲止,我還添加

//.h 
<UITextFieldDelegate> 

那麼我做這個嘗試,並通過從名稱的用戶電子郵件

//.m 
- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view, typically from a nib. 

    customerNameTextField.delegate = self; 
    customerEmailTextField.delegate = self; 
//... 

- (BOOL)textFieldShouldReturn:(UITextField *)textField { 
    if (![customerNameTextField.text isEqualToString:@""]) { 
     [customerNameTextField resignFirstResponder]; 
     [customerEmailTextField becomeFirstResponder]; 
    } else if (textField == customerEmailTextField) { 
     // here you can define what happens 
     // when user presses return on the email field 
     // send request 
    } 
    return YES; 
} 

它進入第一,如果statment,然後刪除鍵盤從屏幕使用resignFirstResponder,但它不會加載新的鍵盤使用becomeFirstResponder ..任何幫助解決這個問題將非常apprecaited。

+0

可以肯定的說customerEmailTextField不是零? – Alexander 2013-02-19 07:57:04

+0

我必須改變if語句的第二部分..但是我不太清楚你所指的是什麼? – HurkNburkS 2013-02-19 08:01:26

+0

如果customerEmailTextField爲零,您的代碼[customerEmailTextField becomeFirstResponder]將不會明顯工作... – Alexander 2013-02-19 08:02:56

回答

11

這會從一個文本框下一個文本框...

-(BOOL)textFieldShouldReturn:(UITextField *)textField 
{ 
    if (textField == ist) { 
     [second becomeFirstResponder]; 
    } 
    else if (textField == second) { 
     [third becomeFirstResponder]; 
    } 

    else{ 
     [textField resignFirstResponder]; 
    } 
    return YES; 
} 
+0

這一次,我改變了返回YES返回NO ...不知道爲什麼...但只是讓每個人都知道。 – HurkNburkS 2013-02-19 19:10:45

+1

謝謝Sudha .....這種方法給我解決方案.. – 2014-01-18 11:08:11