多个文本字段的键盘工具栏
Keyboard toolbar for multiple textFields
在我的项目中,一些 viewController 有多个文本字段,
我找到了如何在键盘上方添加一个带有 "Ok" 按钮的工具栏,以便在点击该按钮时隐藏键盘。
我使用的代码如下:
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;
如何在同一视图控制器中轻松重用此代码?
"target" 使这变得困难,有没有为每个文本字段创建工具栏的方法?
谢谢!
如果此代码在视图控制器中,则有一个简单的解决方案。将 barButton
更改为如下内容:
UIBarButtonItem *barButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(dismissKeyboard)];
然后将此方法添加到视图控制器:
- (void)dismissKeyboard {
[self.view endEditing:YES];
}
无论显示什么视图,这都会关闭键盘。
现在您可以将该工具栏重新用作视图控制器中任何文本 field/view 的 inputAccessoryView
。
在我的项目中,一些 viewController 有多个文本字段,
我找到了如何在键盘上方添加一个带有 "Ok" 按钮的工具栏,以便在点击该按钮时隐藏键盘。
我使用的代码如下:
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;
如何在同一视图控制器中轻松重用此代码?
"target" 使这变得困难,有没有为每个文本字段创建工具栏的方法?
谢谢!
如果此代码在视图控制器中,则有一个简单的解决方案。将 barButton
更改为如下内容:
UIBarButtonItem *barButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(dismissKeyboard)];
然后将此方法添加到视图控制器:
- (void)dismissKeyboard {
[self.view endEditing:YES];
}
无论显示什么视图,这都会关闭键盘。
现在您可以将该工具栏重新用作视图控制器中任何文本 field/view 的 inputAccessoryView
。