ios - 为什么 iPhone 6 及更高版本 wkwebview 不接受底部点击?

标签 ios iphone swift navigation wkwebview

我通过单独的 html 代码注意到了这一点,但我可以使用以下 html Web 应用程序 View 的 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. 只需确保 Web View 加载上述网址,您就可以观察到问题。

如果 Swift 应用程序中的 wkwebview 在 iPhone 5s 或更低版本的全屏 wkwebview 中加载上述网址,则底部选项卡菜单(包含信息、收件箱、上传和照片选项)将起作用。但如果在 iPhone 6s 或 6s Plus 中打开,底部选项卡菜单将不起作用。您可以点击选项,但什么也不会发生。

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

我已经检查了层调试器,没有任何东西妨碍底部选项卡。

非常感谢。

最佳答案

我本来打算删除这个,但你永远不知道。稍后其他人可能也会有同样的问题。也许这会对他们有所帮助。

这是我刚刚想到的答案:

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

我在 Storyboard中看到了它,并添加了约束以确保 WebView 能够拉伸(stretch)到屏幕有多大,并且一切都开始工作。下部导航栏不再超出我的点击范围。

我确实认为整个屏幕上显示的内容很奇怪,但只有检测到触摸的区域没有延伸到屏幕,但这对我来说是一个检查代码并了解事物如何安排的机会。

主要问题已经解决。

关于ios - 为什么 iPhone 6 及更高版本 wkwebview 不接受底部点击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39728914/

相关文章:

iphone - 从 ViewController 保存数据(核心数据)

ios - 使用通知/提醒的待办事项列表应用程序

android - 电话拨号器中的字母标签是什么意思?

swift - 无法迭代 SPTPlaylistList 项目

ios - 如何检查有效的时间格式?

ios - 在 UILabel 上调用 sizeToFit() 并不总能在自定义 tableview 单元格中产生正确的结果

ios - 使用 FBSDKShareLinkContent 无法在 iOS 9 中共享文本

ios - UIImagePickerController - 将图片裁剪成正方形(纵向)

iphone - 过早调用 Dealloc 方法

iphone - 有没有一个技巧可以在 Xcode 调试器中查看 NSMutableArray 中的 NSString 值?