【问题标题】:How to hide an iOS numeric keyboard如何隐藏 iOS 数字键盘
【发布时间】:2012-05-21 18:43:24
【问题描述】:

我使用数字键盘从 UITextField 进行输入。我注意到 Interface Builder 有一个名为“Done”的返回键属性。当我在返回键选项下选择“完成”时,我没有看到在数字键盘上创建了完成按钮。如果我将其从数字键盘更改为其他键盘类型,我会在其他键盘类型上看到“完成”按钮,但在使用数字键盘时不会。

  • 我想在键盘上创建一个“完成”按钮,按下该按钮会隐藏键盘
  • 我想这样做是因为键盘占用了大量空间
  • 我是 iOS 开发的新手,因此我将不胜感激以最简单、最简单的方式来实现这一目标

提前致谢!

【问题讨论】:

  • 你想实现这个按钮来关闭键盘吗?
  • 我刚刚在我自己的项目上做了这个,效果很好,返回按钮变成了完成按钮。您是否有任何与键盘混淆的其他代码?
  • @8vius 默认情况下,我的数字键盘根本没有返回按钮。右下角的按钮是退格/删除按钮,左下角是空白的。我没有操纵键盘的代码。

标签: iphone ios uitextfield


【解决方案1】:

执行此操作的典型方法是将包含按钮的工具栏分配给文本视图的inputAccessoryView 属性。

【讨论】:

  • 好的,感谢您为我指明了正确的方向。我试过做一些搜索,但似乎做得不够。您能否向我指出涵盖此内容的资源?谢谢!!
  • Apple 在开发人员库中有一个名为 KeyboardAccessory 的示例项目。
  • 完美。感谢所有的帮助和高质量的回复。
【解决方案2】:

我在网上找到了这个解决方案,但这意味着为你的完成按钮制作一个图像:http://www.neoos.ch/blog/37-uikeyboardtypenumberpad-and-the-missing-return-key

您也可以使用相同的方法来获取示例中显示的 UIKeyboard 视图,并按照@Jim 的建议执行以下操作:

UIToolbar *keyboardViewToolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 206, 320, 44)];

UIBarButtonItem *keyboardDoneButton = [[UIBarButtonItem alloc] initWithTitle:@"Done" style:UIBarButtonItemStyleDone target:self action:@selector(doneSettingDate)];
UIBarButtonItem *title = [[UIBarButtonItem alloc] initWithTitle:@"Enter Number" style:UIBarButtonItemStylePlain target:nil action:nil];
UIBarButtonItem *spacer1 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace
                                                                         target:nil 
                                                                         action:nil];
UIBarButtonItem *spacer2 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace
                                                                         target:nil 
                                                                         action:nil];



NSArray *barButtonItems = [[NSArray alloc] initWithObjects:spacer1, title, spacer2, pickerDoneButton, nil];
  [keyboardViewToolbar setItems:barButtonItems];

然后将该视图添加到键盘视图中。

另外,考虑到您刚刚开始,作为单独的建议。在 iTunes U 上,您可以下载为 iOS 开发应用程序的斯坦福课程,这是一门非常完整的 iOS 开发课程,可在 iTunes Store 免费获得。

【讨论】:

  • 我一定会检查的。非常感谢!
【解决方案3】:
if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
    {
        UIToolbar* KeyBoardToolbar = [[UIToolbar alloc]initWithFrame:CGRectMake(0, 0, 320, 50)];
        KeyBoardToolbar.barStyle = UIBarStyleBlackTranslucent;
        KeyBoardToolbar.items = [NSArray arrayWithObjects:
                                 [[UIBarButtonItem alloc]initWithTitle:[GlobalSettings GetTextBySelectedLocale:@"Done"] style:UIBarButtonItemStyleBordered target:self action:@selector(DismissKeyBoard)],
                                 [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil],
                                 nil];
        [KeyBoardToolbar sizeToFit];
        txtMessage.inputAccessoryView = KeyBoardToolbar;
    }

txtMessage 可以是UiTextFieldUITextView

-(void)DismissKeyBoard{
    [self.view endEditing:YES];
}

【讨论】:

    猜你喜欢
    • 2013-01-12
    • 1970-01-01
    • 2016-05-30
    • 1970-01-01
    • 2013-09-17
    • 2012-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多