代码之家  ›  专栏  ›  技术社区  ›  Ofri

Swift应用程序配色方案实施的最佳实践

  •  2
  • Ofri  · 技术社区  · 7 年前

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

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

    1 回复  |  直到 7 年前
        1
  •  1
  •   leedex    7 年前

    您可以创建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
    }