簡體   English   中英

在iPhone應用程序的鍵盤上添加“完成”和“新行”按鈕

[英]Add 'Done' and 'New line' buttons on keyboard in iPhone application

我創建了一個基於窗口的應用程序,使用UITabbarController作為RootViewController 在其中一個選項卡中,我提供了UITextFieldUITextView 我想在鍵盤上提供兩個按鈕:

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

如果有人知道怎么做,請發布你的答案。

對於UITextField,您可以通過設置以下內容將返回鍵更改為完成鍵:

targetTextField.returnKeyType = UIReturnKeyDone;

但是,如果沒有自定義添加鍵盤視圖,您將無法同時擁有Enter和Done鍵。

此外,要控制鍵盤的完成行為,您必須實現UITextFieldDelegate方法:

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

我知道您可以為UITextView設置returnKeyType但我不確定您是否可以操作返回鍵行為。

由於某種原因返回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
}

您有一個關於如何在iPhone鍵盤上添加子視圖的教程:

http://www.iphonedevsdk.com/forum/iphone-sdk-tutorials/7350-adding-subviews-custimize-keyboard.html

希望這有幫助,文森特

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM