Swift 3.0 根据颜色获得图片

在一些情况下需要一张纯色的背景图片,例如给UIButton设置高亮背景图片,在Swift 3.0 中可以通过如下方法获取纯色背景图片。

protocol ImageFactory {
    func createImage(color: UIColor) -> UIImage?
}

extension ImageFactory {
    func createImage(color: UIColor) -> UIImage? {
        let rect = CGRect(x: 0.0, y: 0.0, width: 1.0, height: 1.0)
        UIGraphicsBeginImageContext(rect.size)
        let context = UIGraphicsGetCurrentContext()
        context?.setFillColor(color.cgColor)
        context?.fill(rect)
        let image = UIGraphicsGetImageFromCurrentImageContext()
        UIGraphicsEndImageContext()
        return image ?? nil
    }
}

当给一些文件命名的时候,或者声音和视频同步的时候,需要用到时间戳,通过下面方法可以获得当前的时间戳。乘以1000是为了取得毫秒的时间戳,如果需要微秒的时间戳,可以考虑乘以1000000。

public func getTimestamp() -> String {
    let date = Date(timeIntervalSinceNow: 0.0)
    let timestamp = Int(date.timeIntervalSince1970 * 1000)
    return "\(timestamp)"
}

你可能感兴趣的:(Swift 3.0 根据颜色获得图片)