Swift应用程序颜色方案实现的最佳实践

时间:2018-03-10 07:40:03

标签: swift colors themes

为iOS应用程序实现配色方案的最佳做法是什么?

我的想法是创建一个ThemeUIViewController来保存所有信息(标签栏颜色,背景颜色等),并使所有其他UIViewController继承。这是正确的做法,还是有更好的解决方案?

1 个答案:

答案 0 :(得分:1)

您可以在此处创建UIColor扩展并保存颜色。

extension UIColor {

    var yourColor: UIColor {
        //choose your custom rgb values
        return UIColor(red: 255/255, green: 255/255, blue: 255/255, alpha: 1.0)
    } 

    var yourSecondColor: UIColor {
        //choose your custom rgb values
        return UIColor(red: 255/255, green: 255/255, blue: 255/255, alpha: 1.0)
    } 
}

然后您可以像任何其他UIColor一样访问它们:

view.backgroundColor = UIColor.yourColor
navigationController?.navigationBar?.tintColor = UIColor.yourSecondColor

如果要更改导航栏颜色或标签栏颜色,可以编写UIViewController扩展名:

extension UIViewController {
    func setNavigationBarColor() {
        self.navigationController?.navigationBar.barTintColor = UIColor.myColor

    }
}

您可以在viewController中访问func:

override func viewDidLoad() {
     super.viewDidLoad()
     self.setNavigationBarColor()
}

您可以通过app delegate在整个应用中设置导航和标签栏等颜色相同。例如:

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    // Override point for customization after application launch.
    UINavigationBar.appearance().barTintColor = UIColor.yourColor
    return true
}