多个textFields的键盘工具栏

时间:2016-04-16 16:54:58

标签: ios objective-c uitextfield uitoolbar

在我的项目中,一些viewControllers有多个文本字段,
我找到了如何在键盘上方添加一个工具栏,并在点击按钮时使用“确定”按钮隐藏键盘 我正在使用的代码如下:

UIBarButtonItem *flex = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:self action:nil];
UIBarButtonItem *barButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:_destField action:@selector(resignFirstResponder)];
UIToolbar *toolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 320, 34)]; 
toolbar.items = [NSArray arrayWithObjects:flex, barButton, nil];    
_destField.inputAccessoryView = toolbar;

如何在同一个视图控制器中轻松重用此代码? “目标”使这很困难,有没有办法为每个textField创建一个工具栏?

谢谢!

1 个答案:

答案 0 :(得分:2)

如果此代码在视图控制器中,则有一个简单的解决方案。将barButton更改为以下内容:

UIBarButtonItem *barButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(dismissKeyboard)];

然后将此方法添加到视图控制器:

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

无论显示什么视图,都会关闭键盘。

现在,您可以将该工具栏重新用作视图控制器中任何文本字段/视图的inputAccessoryView