2010-12-21 164 views
2

我想我的應用程序具有與Safari一樣的行爲。在Safari中,當鍵盤可見時,在編輯區域外的區域點擊會導致鍵盤隱藏。 但在我自己的應用程序中,默認情況下不是這種情況下的UIWebView。那麼我怎樣才能將這種行爲傳遞給我的應用?點擊UIWebView隱藏鍵盤

我試圖添加一個UIGestureRecognizer,但它永遠不會啓動或始終啓動(取決於shouldRecognizeSimultaneouslyWithGestureRecognizer:)。所以我試圖覆蓋UIWindow中的sendEvent:。但這也有問題,我總是得到水龍頭。即使在點擊例如正在編輯的文本。所以沒有文字選擇是可能的。

- 編輯

我剛剛發現這種行爲在Safari中並不是默認的。只有在谷歌搜索頁面上是這樣。所以必須有針對這個問題的JavaScript解決方案。

+0

試試這個: [寫作iOS4的代碼隱藏在iPhone鍵盤(http://www.techotopia.com/index.php/ Writing_iOS_4_Code_to_Hide_the_iPhone_Keyboard)。它爲我工作=) – 2011-03-15 07:35:45

+0

你需要使用'resignFirstResponder' – 2013-12-16 09:10:57

回答

-2

子類的網絡視圖和覆蓋

- (無效)的touchesBegan:(NSSet中*)觸摸withEvent:方法(的UIEvent *)事件; Goog運氣。

+0

UIView的子類不會得到這個消息。 – V1ru8 2010-12-21 12:53:28

+1

是的。也許你應該在給予和否定之前做一些測試和研究。一個UIWebView它dose'nt – 2010-12-21 13:49:12

+0

嗯,我實現它,它沒有。但無論如何,如果它。首先你不應該子類化一個UIWebView,其次它不能解決問題。 – V1ru8 2010-12-21 14:12:21

3

隱藏在Webview是滾動鍵盤:

self.webView.scrollView.keyboardDismissMode =UIScrollViewKeyboardDismissModeOnDrag;