iOS 选项卡式 WebKit 浏览器 Swift
Tabbed iOS WebKit Browser with Swift
简而言之,我正在尝试使用 WKWebViews (WebKit) 在 Swift iOS 应用程序中构建一些典型的浏览器功能。我已经有一个基于 WKWebView 的正常运行的浏览器,它已经有一个带有 URL 输入、导航按钮、共享按钮、页面标题等的菜单栏。
我正在苦苦挣扎的是为浏览器创建标签。起初这似乎微不足道,因为 WKWebViews 肯定会以某种方式支持它。好吧,据我所知他们没有(查看并尝试了多个教程,包括 hackingwithswift、Ray Wenderlich 等 + 我检查了 Apple 的文档 + Whosebug)
这是我到目前为止想出的:
1) 创建一个新的 tab/opening 一个新的 URL 应该以编程方式创建一个新的 UIView + WKWebView(我必须从我当前的浏览器视图中创建一个子类)
=> 根据 Apple 的文档
,这应该为每个 WKWebView/tab 创建一个单独的线程
2) 我需要类似 Collection 视图(或堆栈视图等)的东西来存储已打开选项卡的屏幕截图图像作为所有选项卡的预览页面。这些单元格应该通过委托链接到相应的 WkWebView,并且它们应该有一个关闭按钮来关闭(=删除)选项卡。
我是不是想多了?如果我沿着这条路走下去,我必须找到一种方法来动态连接(并随后删除)多个委托和视图到 Collection 视图,并且每次用户与选项卡交互时我都必须存储和删除屏幕截图。看起来很乱。但是考虑到 iOS 上的 Chrome 最近是基于 WebKit 的,这显然是可行的。
你会如何解决这个问题?
PS 我没有包含模型,因为你们都知道 Chrome、Safari 等 iOS 中的选项卡是什么样子的。
编辑:
我只是在寻找一种干净和明智的方式来 add/remove 并显示多个 WKWebViews,它们是通过打开新选项卡创建的 - 就像在 Chrome 中用于 iOS 或 Safari 等
好的,我今天已经解决了这个问题:) 我将有一个主 UIView,然后是多个 WKWebView,可以 "zoomed in" 以便进入全屏模式。无需截图等
简而言之,我正在尝试使用 WKWebViews (WebKit) 在 Swift iOS 应用程序中构建一些典型的浏览器功能。我已经有一个基于 WKWebView 的正常运行的浏览器,它已经有一个带有 URL 输入、导航按钮、共享按钮、页面标题等的菜单栏。
我正在苦苦挣扎的是为浏览器创建标签。起初这似乎微不足道,因为 WKWebViews 肯定会以某种方式支持它。好吧,据我所知他们没有(查看并尝试了多个教程,包括 hackingwithswift、Ray Wenderlich 等 + 我检查了 Apple 的文档 + Whosebug)
这是我到目前为止想出的:
1) 创建一个新的 tab/opening 一个新的 URL 应该以编程方式创建一个新的 UIView + WKWebView(我必须从我当前的浏览器视图中创建一个子类) => 根据 Apple 的文档
,这应该为每个 WKWebView/tab 创建一个单独的线程2) 我需要类似 Collection 视图(或堆栈视图等)的东西来存储已打开选项卡的屏幕截图图像作为所有选项卡的预览页面。这些单元格应该通过委托链接到相应的 WkWebView,并且它们应该有一个关闭按钮来关闭(=删除)选项卡。
我是不是想多了?如果我沿着这条路走下去,我必须找到一种方法来动态连接(并随后删除)多个委托和视图到 Collection 视图,并且每次用户与选项卡交互时我都必须存储和删除屏幕截图。看起来很乱。但是考虑到 iOS 上的 Chrome 最近是基于 WebKit 的,这显然是可行的。
你会如何解决这个问题?
PS 我没有包含模型,因为你们都知道 Chrome、Safari 等 iOS 中的选项卡是什么样子的。
编辑: 我只是在寻找一种干净和明智的方式来 add/remove 并显示多个 WKWebViews,它们是通过打开新选项卡创建的 - 就像在 Chrome 中用于 iOS 或 Safari 等
好的,我今天已经解决了这个问题:) 我将有一个主 UIView,然后是多个 WKWebView,可以 "zoomed in" 以便进入全屏模式。无需截图等