如何在turbolinks-ios中设置背景颜色?

时间:2016-08-12 23:33:49

标签: ios uiwebview turbolinks-ios

我正在试验turbolinks-iosturbolinks 5适配器。

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

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

演示应用程序

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

可在此处找到演示应用: https://github.com/turbolinks/turbolinks-ios/tree/master/TurbolinksDemo

1 个答案:

答案 0 :(得分:1)

这确实有效:

ApplicationController's presentVisitableForSession()中,设置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)
    }
}