Random Color Swift

灵感来源于 David Merfield 的 randomColor.js。它是 Swift 的移植版本。你可以使用这个库在 iOS 或 macOS 上生成美观的随机颜色。

安装

此框架支持 Swift 4.0/4.2/5.0 及以上版本。

Swift Package Manager

就像使用任何其他 Swift Package 一样,将此仓库添加到 dependencies 部分并在你的 target 中依赖它

let package = Package(
    name: "MyApp",
    //...
    dependencies: [
        .package(url: "https://github.com/onevcat/RandomColorSwift.git", .upToNextMajor(from: "2.0.0")),
    ],
    targets: [
        .target(
            name: "MyApp",
            dependencies: ["RandomColor"]),
    ]

或者,使用 Xcode 11 或更高版本中集成的 Swift Package Manager 来将此包作为依赖项添加到你的应用

CocoaPods

使用 RandomColor 最简单的方式是通过 CocoaPods 安装它。将以下行添加到你的 Podfile

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
# platform :osx, '10.10'
use_frameworks!

pod 'RandomColorSwift'

Carthage

Carthage 也被支持

github "onevcat/RandomColorSwift"

手动

如果你需要支持 iOS 7.x,你将需要手动将库添加到你的项目中,因为动态框架在 iOS 7 中不受支持。

克隆此仓库并将 RandomColor 文件夹下的源文件放入你的项目中即可使用。

示例

import RandomColor

// Returns a UIColor or NSColor object for an attractive color
let color = randomColor()

// Returns an array of ten green colors
let greenColors = randomColors(count: 10, hue: .green)

// Returns a color for light blue
let lightBlurColor = randomColor(hue: .blue, luminosity: .light)

// Returns a color for a 'truly random' color
let randomColor = randomColor(hue: .random, luminosity: .random)

// Returns an array of ten dark pink colors
let darkPinkColors = randomColors(count: 10, hue: .pink, luminosity: .dark)

// Returns an array of twenty colors at hue of 120
let colors = randomColors(count: 20, hue: .value(120), luminosity: .random)

此仓库中也有一个演示项目。

选项

你可以传递一个选项对象来影响它生成的颜色类型。该选项对象接受以下属性

Hue – 控制生成颜色的色调。可能的颜色色调值有 .monochrome.red.orange.yellow.green.blue.purple.pink.random.value(Int)。如果你使用 .value(Int),你应该传入一个介于 0 到 360 之间的 Int

Luminosity – 控制生成颜色的亮度。你可以传入 .bright.light.dark.random

Count – 一个 Int,用于指定要生成的颜色数量。

致谢

感谢 David Merfield 带来了 randomColor.js,这是一个很棒的工具。

演示项目正在使用 Chirag Mehta 的 Name the Color JavaScript 库来提取颜色名称。

许可证

此项目根据 MIT 许可证的条款获得许可。