iOS 點選空白處收回鍵盤的方法
阿新 • • 發佈:2019-01-05
在iOS的開發中經常會用到輸入框,當你點選輸入框是鍵盤會自動彈出,十分方便。但要收回鍵盤確十分麻煩,需要實現輸入框中return的代理方式,當點選return鍵是鍵盤才會回收,這種使用者體驗十分的糟糕。所以我們可以通過方法來實現點選介面空白處來實現鍵盤的回收。以下提供兩種方法以供參考:
要使鍵盤迴收實現,具體的方法為使他取消第一響應者的身份即可
這個‘他’可以是當前的view:
[self.viewendEditing:YES] ;
這個方法可以讓整個view取消第一響應者的身份,從而讓所有控制元件的鍵盤隱藏。
另一種比較常用的做法是讓當前的textFiled失去第一響應者的身份,讓鍵盤隱藏
[textFiled resignFirstResponder] ;
這裡介紹兩種使textFiled失去第一響應者的方法
1.使用系統提供的view方法touchesBegan:當點選view時會觸發這個點選事件:
<span style="font-size:24px;">-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
[textFiled resignFirstResponder];
}</span>
2.通過自定義的觸控手勢來實現:
<span style="font-size:24px;"> UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(keyboard:)]; <span style="color:#33cc00;">//定義一個手勢 UITapGestureRecognizer是輕拍手勢識別器,能識別輕拍操作</span> tap.cancelsTouchesInView = NO; <span style="color:#33cc00;">//表示當前控制元件響應結束後會轉到其他控制元件上,預設為YES</span> [self.view addGestureRecognizer:tap]; <span style="color:#33cc00;">//將定義的的手勢加到view上</span></span>
<span style="font-size:24px;">-(void)keyboard:(UITapGestureRecognizer *)tap{
[textField resignFirstResponder];
<span style="color:#33cc00;">//keyboard方法的實現,當前textField失去第一響應者身份</span>
}</span>
以上就是兩種常用的鍵盤隱藏方法,歡迎交流