如何按颜色对UIColors数组进行排序(以ROYGBIV顺序为例)?

Arc*_*rch 2 swift

我有一大堆颜色要在我的UI中显示在一个数组中,我认为如果它们按颜色排序会看起来最好.我该怎么做呢?

Sim*_*man 9

如何按颜色排序颜色:

extension UIColor
{
    var hue: CGFloat
    {
        var hue: CGFloat = 0
        var saturation: CGFloat = 0
        var brightness: CGFloat = 0
        var alpha: CGFloat = 0

        self.getHue(&hue,
                    saturation: &saturation,
                    brightness: &brightness,
                    alpha: &alpha)

        return hue
    }
}

let colors = [UIColor.purpleColor(),
              UIColor.brownColor(),
              UIColor.yellowColor(),
              UIColor.magentaColor(),
              UIColor.blueColor(),
              UIColor.redColor()]

print(colors.sort({ $0.hue < $1.hue}))
Run Code Online (Sandbox Code Playgroud)

西蒙