1. 程式人生 > >iOS 點選空白處收回鍵盤的方法

iOS 點選空白處收回鍵盤的方法

     在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>


以上就是兩種常用的鍵盤隱藏方法,歡迎交流