[textField resignFirstResponder]
#import "FormViewController.h" @interface FormViewController ()<UITextFieldDelegate> @property (weak, nonatomic) IBOutlet UITextField *textFieldA; @property (weak, nonatomic) IBOutlet UITextField *textFieldB; @property (weak, nonatomic) IBOutlet UITextField *textFieldC; @property (weak, nonatomic) IBOutlet UITextField *textFieldD; @property (weak, nonatomic) IBOutlet UITextField *textFieldE; @property (weak, nonatomic) IBOutlet UITextField *textFieldF; @property (weak, nonatomic) IBOutlet UITextField *textFieldG; @property (weak, nonatomic) IBOutlet UITextField *textFieldH; @property (weak, nonatomic) IBOutlet UITextField *textFieldI; @property (weak , nonatomic) UITextField *editingTextField ; // 跟踪当前处于编辑状态的textfield @end @implementation FormViewController @synthesize textFieldA,textFieldB,textFieldC, textFieldD,textFieldE,textFieldF,textFieldG,textFieldH, textFieldI,editingTextField; - (void)viewDidLoad { [super viewDidLoad]; self.textFieldA.delegate = self ; self.textFieldB.delegate = self ; self.textFieldC.delegate = self ; self.textFieldD.delegate = self ; self.textFieldE.delegate = self ; self.textFieldF.delegate = self ; self.textFieldG.delegate = self ; self.textFieldH.delegate = self ; self.textFieldI.delegate = self ; } - (void)viewDidUnload { [self setTextFieldA:nil]; [self setTextFieldB:nil]; [self setTextFieldC:nil]; [self setTextFieldD:nil]; [self setTextFieldE:nil]; [self setTextFieldF:nil]; [self setTextFieldG:nil]; [self setTextFieldH:nil]; [self setTextFieldI:nil]; [self setEditingTextField:nil]; [super viewDidUnload]; } // UITextFieldDelegate 方法 - (void)textFieldDidBeginEditing:(UITextField *)textField { self.editingTextField = textField ; } // 提交Action - (IBAction)submitForm:(UIBarButtonItem *)sender { [self.editingTextField resignFirstResponder]; // 提交表单,弹出提示等待框,略 }
[self.editingTextField resignFirstResponder];
来关闭键盘。
流程上逻辑很简单,但总感受只为实现关闭键盘这个功能,须要添加 atom
self.textFieldA.delegate = self ; self.textFieldB.delegate = self ; self.textFieldC.delegate = self ; self.textFieldD.delegate = self ; self.textFieldE.delegate = self ; self.textFieldF.delegate = self ; self.textFieldG.delegate = self ; self.textFieldH.delegate = self ; self.textFieldI.delegate = self ;
- (BOOL)endEditing:(BOOL)force官网文档释义:
Causes the view (or one of its embedded text fields) to resign the first responder status.
This method looks at the current view and its subview hierarchy for the text field that is currently the first responder. If it finds one, it asks that text field to resign as first responder. If the force parameter is set to YES, the text field is never even asked; it is forced to resign.
注销当前view(或它下属嵌入的text fields)的first responder 状态。
该方法会在当前view以及其subview层次结构中需找当前处于first responder状态的text field。若是找到的话会注销其first responder状态,若是指定force参数为YES,则再也不询问text field,而直接强制注销其first responder状态。
[self.view endEditing:YES];键盘立马关闭!
注:描述于IOS5.1下 spa