2011-02-02 43 views
4

我創建了基於窗口的應用程序,其中UITabbarControllerRootViewController。 在其中一個選項卡中,我提供了UITextFieldUITextView。 我想在鍵盤本身上提供兩個按鈕:在iPhone應用程序的鍵盤上添加「完成」和「新行」按鈕

  • 完成 - 這將隱藏鍵盤。
  • 輸入 - 換行。

如果有人有一些想法如何去做,請發表您的答案。

+0

您可以將這兩個按鈕添加到工具欄上,並通過動畫將其放在鍵盤上。 – Ishu 2011-02-02 11:10:33

回答

4

給出UITextField你可以改變返回鍵到完成關鍵通過設置以下內容:

targetTextField.returnKeyType = UIReturnKeyDone; 

但是,您將無法使用Enter和完成密鑰同時無需自定義向鍵盤添加視圖。

此外,控制鍵盤的完成行爲,你必須實現一個UITextFieldDelegate方法:

targetTextField.delegate = self; 
- (BOOL)textFieldShouldReturn:(UITextField *)textField{ 
    return YES; //dismisses the keyboard 
} 

我知道你可以設置爲returnKeyType一個UITextView,但我不知道你是否能操縱返回關鍵行爲。

1

由於某種原因返回YES;沒有自己的工作。這對我有效:

- (BOOL)textFieldShouldReturn:(UITextField *)textField { 

    if (textField.returnKeyType == UIReturnKeyNext) { 
     NSInteger nextTag = textField.tag + 1; 
     // Try to find next responder 
     UIResponder* nextResponder = [textField.superview viewWithTag:nextTag]; 
     if (nextResponder) { 
      // Found next responder, so set it. 
      [nextResponder becomeFirstResponder]; 
     } 
    } 

    if (textField.returnKeyType == UIReturnKeyDone) { 
     [textField resignFirstResponder]; 
    } 
    return YES; //dismisses the keyboard 
} 
相關問題