1

我正在试验用于turbolinks 5的turbolinks-ios适配器。

显然,背景颜色VisitableView是白色的。但是当 Web 应用程序的背景颜色不是白色时,turbolinks 过渡看起来不太好:单击链接时,背景变为白色,并在加载内容后变回所需的背景颜色。

显而易见的解决方案是设置 iOS 应用程序的背景颜色,但是如何设置呢?

演示应用

适用于 iOS 的 Turbolinks 有一个演示应用程序,如果这可以更容易地回答问题,它可以作为示例上下文。

演示应用程序可以在这里找到: https ://github.com/turbolinks/turbolinks-ios/tree/master/TurbolinksDemo

4

1 回答 1

1

这确实有效:

ApplicationController'spresentVisitableForSession()中,设置visitable.visitableView.backgroundColor.

例如:

// ApplicationController.swift
class ApplicationController: UINavigationController {
    // ...

    func bgColor() -> UIColor? {
        return UIColor(red: 0, green: 103/255, blue: 170/255, alpha: 1)
    }

    private func presentVisitableForSession(session: Session, URL: NSURL, action: Action = .Advance) {
        let visitable = MainViewController(URL: URL)

        visitable.visitableView.backgroundColor = bgColor()    // <-- ADD THIS LINE

        if action == .Advance {
            pushViewController(visitable, animated: true)
        } else if action == .Replace {
            popViewControllerAnimated(false)
            pushViewController(visitable, animated: false)
        }

        session.visit(visitable)
    }
}
于 2016-08-12T23:33:48.687 回答