使用新参数初始化UIImage

时间:2018-08-01 11:41:43

标签: swift

我怎样做一个新的初始化

  

注意:我需要 init ,而不是静态功能

 Pairs T => A with T -> A with 0

但是我在实现时出错

  

错误:无法分配值:'self'是不可变的

1 个答案:

答案 0 :(得分:1)

您可以使用以下内容:

我在Swift 4.1中编写了它,您可以进行必要的更改。

extension UIImage {
    convenience init?(named: String, in bundle: Bundle? = nil, compatibleWith collection: UITraitCollection? = nil, rendring: UIImageRenderingMode) {
        if let image = UIImage(named: named, in: bundle, compatibleWith: collection) {
            if let cgImage = image.withRenderingMode(rendring).cgImage {
                self.init(cgImage: cgImage)
            }
        }
        return nil
    }
}