1. 程式人生 > >使用UITouch隱藏UITextField/UITextView輸入鍵盤的方法-iOS開發

使用UITouch隱藏UITextField/UITextView輸入鍵盤的方法-iOS開發

很多朋友一直為如何實現點選UITextField控制元件之外便隱藏鍵盤的問題煩惱,
之前自己一直用的方法是把一個透明的,與當前view大小相同的按鈕放在最底層,再捕獲它的訊息,進行resignFirstResponder操作,之後每個介面都這麼做,非常繁瑣。今天學習UITouch時發現一個一勞永逸的方法,將下面的程式碼放入相應的UIViewController實現程式碼中,便可以實現UITextField/UITextView在點選控制元件外的情況下隱藏掉輸入鍵盤。
  1. - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
  2.     UITouch *touch = [touches anyObject];
  3. //判斷所點選view是否是UITextField或UITextView
  4.     if (![[touch view] isKindOfClass:[UITextField class]] && ![[touch view] isKindOfClass:[UITextView class]]) {
  5.         for (UIView* view in self.view.subviews) {
  6.             if ([view isKindOfClass:[UITextField class]]) {
  7.                 [view resignFirstResponder];
  8.             }
  9.         }
  10.     }
  11. }
複製程式碼

如果還需要實現點“換行”或"Return"返回,只需要將Did End On Exit事件連結至類定義中,構建事件處理方法,便能實現點選“換行”事件的捕獲。

轉載自 http://www.findhunter.cn/ios/5514.html

非常好用 的確解決問題了