2010-12-21 163 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;