键盘在模式下,可能没有返回或者是完成按钮,因此有的时候需要人为的添加一个返回或者是完成按钮。
首先,创建一个工程:
@interface ViewController ()<UITextFieldDelegate>
{ UITextField *testField;}@end创建一个全局的,方便调用
在自己想要调用的方法中创建textField
- (void)viewDidLoad {
[super viewDidLoad]; testField =[[UITextField alloc]initWithFrame:CGRectMake(100, 100, 100, 30)]; [self.view addSubview:testField]; testField.placeholder = @"搜索内容"; UIToolbar * topView = [[UIToolbar alloc]initWithFrame:CGRectMake(0, 0, 320, 30)]; [topView setBarStyle:UIBarStyleBlackTranslucent]; UIBarButtonItem * btnSpace = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:self action:nil]; UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom]; btn.frame = CGRectMake(2, 5, 50, 25); [btn addTarget:self action:@selector(dismissKeyBoard) forControlEvents:UIControlEventTouchUpInside]; [btn setTitle:@"完成" forState:UIControlStateNormal];// [btn setImage:[UIImage p_w_picpathNamed:@"shouqi"] forState:UIControlStateNormal]; UIBarButtonItem *doneBtn = [[UIBarButtonItem alloc]initWithCustomView:btn]; NSArray * buttonsArray = [NSArray arrayWithObjects:btnSpace,doneBtn,nil]; [topView setItems:buttonsArray]; [testField setInputAccessoryView:topView]; }-(void)dismissKeyBoard{ [testField resignFirstResponder];}这样一个简单的键盘回收demo就完成的