键盘显示时,iOS 7 Web视图文本字段焦点更改

时间:2013-11-12 03:56:00

标签: webview keyboard ios7

更新 - 解决方案

@ jfurr在这个post中的答案解决了这个问题。

更改此

<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, maximum-scale=1.0" />

<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, maximum-scale=1.0, target-densityDpi=device-dpi" />

更新 - 解决方法

但如果我将4英寸iOS 7设备的网页视图高度降低至少37点(36或更少不起作用),则焦点将保留在上部文本字段中。

CGRect aCGRect = [webView frame];
aCGRect.size.height = [[UIScreen mainScreen] applicationFrame].size.height - 37;    
[webView setFrame:aCGRect];

不知道为什么会这样。

问题

有一个全屏Web视图,其中两个文本字段(不是iOS本机文本字段)在Web视图的中间垂直对齐。当我单击上部文本字段时,预计会看到键盘显示,焦点落在上部文本字段上,Web视图会向上移动一点点。

现在意想不到的结果是,当触摸上部文本字段时,键盘能够显示,但焦点落在下部文本字段上,光标也移动到下部文本字段。但是,这种意外结果仅在iOS 7中发生。它在iOS 6和5中按预期工作。

1 个答案:

答案 0 :(得分:1)

(与帖子中的更新 - 解决方案相同。)

@ jfurr在这篇文章中的回答解决了这个问题:

ios7 issues with webview focus when using keyboard html

更改此

<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, maximum-scale=1.0" />

<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, maximum-scale=1.0, target-densityDpi=device-dpi" />