为什么iPhone 6及以上版本wkwebview不接受底部的水龙头?

时间:2016-09-27 15:40:54

标签: ios iphone swift navigation wkwebview

我注意到了这个单独的HTML代码,但我可以使用html web应用程序视图的以下url示例重复相同的问题,例如将在混合应用程序中使用。为了让阅读此内容的人最容易重现这个问题,我会在这里添加该url(我不需要使用该url。我有自己的代码。但是这个url做同样的事情,所以这是一个很好的例子有人读这个来检查。)

https://framework7.io/examples/tab-bar

Image: These bottom nav bar items do not respond to touch on iPhone 6s or 6s Plus, but DO work on 5s and SE

重现:

  1. 使用wkwebview创建一个简单的iOS应用程序(您可能已经拥有了之前项目中的一个)

  2. 只需确保webview加载上述网址,您就可以观察到此问题。

  3. 如果Swift应用程序中的wkwebview在全屏wkwebview中的iPhone 5s或更低版本中加载上述URL,则底部选项卡菜单(包括信息,收件箱,上传和照片选项)将起作用。但如果在iPhone 6s或6s Plus中打开,则底部的标签菜单将无效。你可以点击选择,什么都不会发生。

    重要提示:这不适用于Safari。这是在Swift应用程序中的wkwebview中打开链接的上下文中发生的。这是可重复的。

    我已经检查了图层调试器,并且没有任何东西妨碍底部标签。

    非常感谢。

1 个答案:

答案 0 :(得分:0)

我打算删除它,但你永远不会知道。其他人可能会在以后遇到同样的问题。也许这会对他们有所帮助。

所以这就是我刚才想出的答案:

我没有添加自动约束以确保webview与窗口保持相同的大小。这就是为什么它适用于像5s和SE这样的小手机(因为webview恰好足够大。)同时,6s和6s Plus的大屏幕超出了webview的大小。

我在故事板中看到它并添加了约束以确保webview可以伸展到屏幕大小,并且一切都开始工作了。较低的导航栏不再是我的水龙头无法触及的。

我认为整个屏幕上显示的内容很奇怪,但只有检测到触摸的区域没有延伸到屏幕,但这是我查看代码并查看内容的机会安排。

主要问题已经解决。