我正在使用数字键盘来输入UITextField。我注意到Interface Builder有一个名为“Done”的返回键属性。当我在返回键选项下选择“完成”时,我没有看到在数字键盘上创建了完成按钮。如果我将其从数字键盘更改为其他键盘类型,我会在其他键盘类型上看到“完成”按钮,但在使用数字键盘时则不会。
提前致谢!
答案 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 可以是UiTextField
或UITextView
。
-(void)DismissKeyBoard{
[self.view endEditing:YES];
}