iOS 11.x 系统颜色

2024-05-26

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


2019 年更新

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

Example:

UIColor.systemBlue

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

人机界面指南中的颜色 https://developer.apple.com/ios/human-interface-guidelines/visual-design/color/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iOS 11.x 系统颜色 的相关文章

随机推荐