1、服从协议
1 |
UITextViewDelegate, UITextFieldDelegate |
2、设置代理
3、添加隐藏按钮
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
void (^addTopView)(UIView *) = ^(UIView *view) { UIToolbar *topView = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 320, 35)]; UIBarButtonItem *flexBtn = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil]; UIBarButtonItem *dismissKeyBoardButton; dismissKeyBoardButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(dismissKeyBoard)]; topView.backgroundColor = [UIColor whiteColor]; NSArray *buttonsArray = @[flexBtn, dismissKeyBoardButton]; if (view.class == [UITextField class]) { ((UITextField *)view).inputAccessoryView = topView; topView.items = buttonsArray; } if (view.class == [UITextView class]) { ((UITextView *)view).inputAccessoryView = topView; topView.items = buttonsArray; } }; addTopView(self.textField); addTopView(self.textView); |
4、添加空白处点击隐藏
1 2 3 |
UITapGestureRecognizer *tapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(dismissKeyBoard)]; tapGestureRecognizer.cancelsTouchesInView = NO; [self.view addGestureRecognizer:tapGestureRecognizer]; |
5、添加键盘隐藏方法
1 2 3 4 |
- (void)dismissKeyBoard { [self.textField resignFirstResponder]; [self.textView resignFirstResponder]; } |