如何隐藏iOS数字键盘

时间:2012-05-21 18:43:24

标签: iphone ios uitextfield

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

  • 我想在键盘上创建一个“完成”按钮,按下时会隐藏键盘
  • 我想这样做是因为键盘占用了大量的空间
  • 我对iOS开发非常陌生,所以我们非常感谢能够实现这一目标的最简单,最简单的方法

提前致谢!

3 个答案:

答案 0 :(得分:8)

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

答案 1 :(得分:0)

我在网上找到了这个解决方案,但它意味着为完成按钮制作图像: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免费下载。

答案 2 :(得分:0)

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];
}