首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在iPhone应用程序中在键盘上添加“完成”和“新行”按钮

在iPhone应用程序中在键盘上添加“完成”和“新行”按钮
EN

Stack Overflow用户
提问于 2011-02-02 10:53:49
回答 3查看 6.1K关注 0票数 4

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

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

如果有人知道怎么做,请贴上你的答案。

EN

回答 3

Stack Overflow用户

发布于 2011-02-02 15:44:36

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

代码语言:javascript
运行
复制
targetTextField.returnKeyType = UIReturnKeyDone;

但是,如果不将视图自定义添加到键盘上,您将无法同时使用Enter和to键。

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

代码语言:javascript
运行
复制
targetTextField.delegate = self;
- (BOOL)textFieldShouldReturn:(UITextField *)textField{
     return YES;  //dismisses the keyboard
}

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

票数 4
EN

Stack Overflow用户

发布于 2011-02-02 11:13:34

这里有关于如何向iPhone键盘添加子视图的教程:

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

希望这能帮上忙文森特

票数 1
EN

Stack Overflow用户

发布于 2013-07-22 16:40:19

出于某种原因,返回是的;没有单独工作。对我来说很管用:

代码语言:javascript
运行
复制
- (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
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4873525

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档