IOS開發點選空白處隱藏虛擬鍵盤的幾種方法:
首先說明兩種可以讓鍵盤隱藏的Method:
1、[view endEditing:YES] 這個方法可以讓整個view取消第一響應者,從而讓所有控制元件的鍵盤隱藏。
2、[textFiled resignFirstResponder] 這個則是比較常用的讓某個textFiled的鍵盤隱藏。
接下來就是幾種實現方式:
第一種: 使用view的touchesBegan:觸控事件來實現對鍵盤的隱藏,當點選view的區域就會觸發這個事件
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
[textFiled resignFirstResponder];
}
第二種:建立自定義的觸控手勢來實現對鍵盤的隱藏:
- (void)viewDidLoad { [super viewDidLoad]; UITap *tap = [[UITap alloc] initWithTarget:self action:@selector(keyboardHide:)]; //設定成NO表示當前控制元件響應後會傳播到其他控制元件上,預設為YES。 tap.cancelsTouchesInView = NO; //將觸控事件新增到當前view [self.view addGestureRecognizer:tapGestureRecognizer]; } -(void)keyboardHide:(UITap*)tap{ [textFiled resignFirstResponder]; }
第三種:修改xib中UIView的Custom class為UIControl,UIControl是一些常用控制元件如UIButton的父類,是UIView的派生類,實現了對觸控和下按的封裝。
1、首先設定xib中得UIView的Custom class為UIControl
2、設定關係事件,將xib中得UIView拖到.h區中
設定好事件為Touch Up Inside
3、編寫隱藏程式碼:
- (IBAction)touchView:(id)sender {
[self.view endEditing:YES];
}