在实际开发中会遇到数字键盘上原本 return 键的位置被一个删除按钮代替了, 但是又希望有个 renturn 键, 用来回收键盘. 如图一所示
图 1.PNG
这时我们可以在键盘上添加一个完成的按钮, 如图二所示
图 2.PNG
具体的实现是在键盘上添加一个 UIToolbar 工具栏
- - (UIToolbar *)addToolbar
- {
- UIToolbar *toolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, CGRectGetWidth(self.view.frame), 35)];
- toolbar.tintColor = [UIColor blueColor];
- toolbar.backgroundColor = [UIColor grayColor];
- UIBarButtonItem *space = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
- UIBarButtonItem *bar = [[UIBarButtonItem alloc] initWithTitle:@"完成" style:UIBarButtonItemStylePlain target:self action:@selector(textFieldDone)];
- toolbar.items = @[space, bar];
- return toolbar;
- }
- - (void)textFieldDone
- {
- [self.txtField resignFirstResponder];
- }
在点击完成按钮时再取消 UITextField 或者 UITextView 的第一响应者回收键盘.
方法是写好了, 那该怎么调用呢, 下面就是调用的方式了
- // 调用上面的代码, 给 UITextField 或者 UITextView 的对象添加 UIToolbar
- self.txtField.inputAccessoryView = [self addToolbar];
来源: http://www.jianshu.com/p/8e43596d18bd