作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
为 iOS 应用程序实现配色方案的最佳做法是什么?
我的想法是创建一个 ThemeUIViewController
来保存所有信息(标签栏颜色、背景颜色等)并让所有其他 UIViewController
继承它。这是执行此操作的正确方法,还是有更好的解决方案?
最佳答案
您可以创建一个 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()
}
您可以通过应用委托(delegate)将导航和标签栏等内容的颜色设置为在整个应用中相同。示例:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
UINavigationBar.appearance().barTintColor = UIColor.yourColor
return true
}
关于swift - Swift 应用程序配色方案实现的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49206573/
我是一名优秀的程序员,十分优秀!