我正在为看起来和行为像杂志的网站构建本机iOS包装。它将具有较长的滚动页面,但用户也可以在各章之间滑动。因此,我想做的是加载一个新的HTML页面,但要使其从左侧或右侧过渡,就好像它已从导航堆栈中推入/弹出一样。有谁知道是否可以向WKWebView组件中注入一些核心动画来达到这种效果?

最佳答案

实现此目的的一种方法是在两个WKWebView之间创建动画。加载第一个WKWebView,然后,当您激活过渡时,创建第二个WKWebView,将其放置在屏幕外并在入口处设置动画,同时将当前的WebView移离屏幕,然后从视图中分离它。就像是:

func presentNextWebView() {
    let webViewToRemove = currentWebView
    let webViewToAdd = WKWebView()
    webViewToAdd.frame = webViewToRemove.frame
    webViewToAdd.center = CGPointMake(2.0*self.view.bounds.width, CGRectGetMidY(self.view.bounds))
    currentWebView = webViewToAdd
    self.view.addSubview(webViewToAdd)
    UIView.animateWithDuration(1.0, animations: {
        webViewToRemove.center = CGPointMake(-2.0*self.view.bounds.width, CGRectGetMidY(self.view.bounds))
        webViewToAdd.center = self.CGPointMake(CGRectGetMidX(self.view.bounds), CGRectGetMidY(self.view.bounds))
        }, completion: { finished in
            webViewToRemove.removeFromSuperview()
    })
}

关于ios - 新页面的WKWebView过渡,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34792096/

10-14 20:47
查看更多