如何获得UIColor的名称?

问题描述 投票:1回答:4

我有一个UIColors数组,如

[UIColor blueColor];

是否有可能从该UIColor中获得名称“ blue”,以字符串形式显示?

nsstring uicolor
4个回答
2
投票

UIKit没有内置任何内容,但是Erica Sadun的uicolor-utilities library添加了类似的功能。


0
投票

如果需要,可以获取UIColor的RGB和Alpha。


0
投票

可以使用runtime获得颜色名称列表。看到我的问题:How to get all Color methods of UIColor?

如果需要,您也可以使用字符串方法将'xxxColor'转换为'xxx'


0
投票

您可以使用此扩展名来获取通过XCode中的Color Assets创建的颜色的名称。

extension UIColor {
    /// Name of color. Only colors created with XCode Color Assets will return actual name, colors created programatically will always return nil.
    var name: String? {
        let str = String(describing: self).dropLast()
        guard let nameRange = str.range(of: "name = ") else {
            return nil
        }
        let cropped = str[nameRange.upperBound ..< str.endIndex]
        if cropped.isEmpty {
            return nil
        }
        return String(cropped)
    }
}

结果:

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.