为iOS应用程序实现配色方案的最佳做法是什么?
我的想法是创建一个ThemeUIViewController
来保存所有信息(标签栏颜色,背景颜色等),并使所有其他UIViewController
继承。这是正确的做法,还是有更好的解决方案?
答案 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
}