导航控制器到 Pushviewcontroller 到新的视图控制器,WebKit 延迟/首次加载时慢
Posted
技术标签:
【中文标题】导航控制器到 Pushviewcontroller 到新的视图控制器,WebKit 延迟/首次加载时慢【英文标题】:Navigation Controller to Pushviewcontroller to New View Controller with WebKit Delay/Slow on First Load 【发布时间】:2020-07-24 09:54:46 【问题描述】:设置很简单。我有一个正在加载的 NavigationController。当我单击表格行或按钮以加载使用 WebKit 加载的新控制器时,会有 2-3 秒的延迟,这是我第一次加载它。加载一次后,一切正常。我可以回去,过渡是即时的。
*** 中不乏这个问题,但每个问题都有相同的 Swift 5 公认答案。这对我没有帮助。
DispatchQueue.main.async
let newController = MyWebViewController()
self.navigationController?.pushViewController(newController, animated: true)
同样,它只是第一次发生。
这也是我在新 VC 中的代码。
private lazy var webView = WKWebView()
override func loadView()
webView = WKWebView()
webView.navigationDelegate = self
view = webView
override func viewDidLoad()
super.viewDidLoad()
let url = URL(string: "https://www.apple.com")!
webView.load(URLRequest(url: url))
webView.allowsBackForwardNavigationGestures = true
【问题讨论】:
【参考方案1】:我解决了这个问题,首先通过 ViewDidLoad 加载 UIView,然后通过 viewdidappear 加载 webkit。
【讨论】:
以上是关于导航控制器到 Pushviewcontroller 到新的视图控制器,WebKit 延迟/首次加载时慢的主要内容,如果未能解决你的问题,请参考以下文章
导航控制器中的后退按钮有啥 pushViewController 没有的功能?
如何覆盖 pushViewController 创建的导航栏的功能
使用 pushViewController 然后 popViewController 时将工具栏保持在 UIView 的顶部?
如何使用 PushViewController 方法从 UIViewClass 导航到 UIViewController 类