使用UITouch隱藏UITextField/UITextView輸入鍵盤的方法-iOS開發
阿新 • • 發佈:2019-01-10
很多朋友一直為如何實現點選UITextField控制元件之外便隱藏鍵盤的問題煩惱,
之前自己一直用的方法是把一個透明的,與當前view大小相同的按鈕放在最底層,再捕獲它的訊息,進行resignFirstResponder操作,之後每個介面都這麼做,非常繁瑣。今天學習UITouch時發現一個一勞永逸的方法,將下面的程式碼放入相應的UIViewController實現程式碼中,便可以實現UITextField/UITextView在點選控制元件外的情況下隱藏掉輸入鍵盤。
之前自己一直用的方法是把一個透明的,與當前view大小相同的按鈕放在最底層,再捕獲它的訊息,進行resignFirstResponder操作,之後每個介面都這麼做,非常繁瑣。今天學習UITouch時發現一個一勞永逸的方法,將下面的程式碼放入相應的UIViewController實現程式碼中,便可以實現UITextField/UITextView在點選控制元件外的情況下隱藏掉輸入鍵盤。
-
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
-
UITouch *touch = [touches anyObject];
-
//判斷所點選view是否是UITextField或UITextView
-
if (![[touch view] isKindOfClass:[UITextField class]] && ![[touch view] isKindOfClass:[UITextView class]]) {
-
for (UIView* view in self.view.subviews) {
-
if ([view isKindOfClass:[UITextField class]]) {
-
[view resignFirstResponder];
-
}
-
}
-
}
-
}
如果還需要實現點“換行”或"Return"返回,只需要將Did End On Exit事件連結至類定義中,構建事件處理方法,便能實現點選“換行”事件的捕獲。
轉載自 http://www.findhunter.cn/ios/5514.html
非常好用 的確解決問題了