4

我创建了一个基于窗口的应用程序,UITabbarController其中RootViewController. 在其中一个选项卡中,我提供了UITextFieldUITextView. 我想在键盘本身上提供两个按钮:

  • 完成 - 这将隐藏键盘。
  • 输入 - 换行。

如果有人知道如何做,请发布您的答案。

4

3 回答 3

4

对于 UITextField,您可以通过设置以下内容将返回键更改为完成键:

targetTextField.returnKeyType = UIReturnKeyDone;

但是,如果不向键盘自定义添加视图,您将无法同时拥有 Enter 和 Done 键。

此外,要控制键盘的完成行为,您必须实现 UITextFieldDelegate 方法:

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

我知道您可以为 UITextView 设置 returnKeyType 但我不确定您是否可以操纵返回键行为。

于 2011-02-02T15:44:36.660 回答
1

您有一个关于如何将子视图添加到 iPhone 键盘的教程:

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

希望这会有所帮助,文森特

于 2011-02-02T11:13:34.223 回答
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
}
于 2013-07-22T16:40:19.063 回答