gpt4 book ai didi

iOS 11.x 系统颜色

转载 作者:行者123 更新时间:2023-11-28 09:51:02 26 4
gpt4 key购买 nike

我已经阅读了很多关于如何自定义 View 颜色的文章,但没有关于为 iOS 11.x 或更早版本中的导航栏、状态栏和标签栏等标准控件检索系统颜色的文章。 UIColor 类有 3 种系统颜色,但它们非常无用。例如,调用 UINavigationBar.appearance() 几乎没有帮助,因为如果应用程序 plist 中没有定义任何内容,它可能会返回默认浅色方案的“清晰”颜色。那么,为什么 Apple 不像其他人那样提供一种以编程方式获取系统颜色的方法(对于 Windows 和 Android)?有人知道在哪里可以找到它们吗?提前发送。

最佳答案

2019 年更新

UIColor 现在提供静态属性来获取系统颜色。

例子:

UIColor.systemBlue

有关系统颜色的完整列表,请查看 UIKit 文档中的“标准颜色”页面:https://developer.apple.com/documentation/uikit/uicolor/standard_colors


旧答案

iOS 不提供以编程方式访问这些颜色的方法。

相反,将这些颜色添加到您自己的项目中非常简单。如果颜色在未来的 iOS 版本中发生变化(并且您想改用这些新颜色),您将需要更新您的应用。

在大多数情况下,这不是问题,因为应用会出于品牌目的定义自己的颜色。

enum SystemColor {

case red
case orange
case yellow
case green
case tealBlue
case blue
case purple
case pink

var uiColor: UIColor {
switch self {
case .red:
return UIColor(red: 255/255, green: 59/255, blue: 48/255, alpha: 1)
case .orange:
return UIColor(red: 255/255, green: 149/255, blue: 0/255, alpha: 1)
case .yellow:
return UIColor(red: 255/255, green: 204/255, blue: 0/255, alpha: 1)
case .green:
return UIColor(red: 76/255, green: 217/255, blue: 100/255, alpha: 1)
case .tealBlue:
return UIColor(red: 90/255, green: 200/255, blue: 250/255, alpha: 1)
case .blue:
return UIColor(red: 0/255, green: 122/255, blue: 255/255, alpha: 1)
case .purple:
return UIColor(red: 88/255, green: 86/255, blue: 214/255, alpha: 1)
case .pink:
return UIColor(red: 255/255, green: 45/255, blue: 85/255, alpha: 1)
}
}

}

示例用法:

myView.backgroundColor = SystemColor.blue.uiColor

如果您愿意,这些颜色也可以定义为 UIColor 的扩展,如下所示:

extension UIColor {
static let systemBlue = UIColor(red: 0/255, green: 122/255, blue: 255/255, alpha: 1)
// etc
}

用法是这样的:

UIColor.systemBlue

iOS system colors from the hig

Colors in the Human Interface Guidelines

关于iOS 11.x 系统颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47995595/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com