我遇到了一个用于UIGraphicsImageRender
在 Medium 上画导师的例子。示例代码如下:
let renderer = UIGraphicsImageRenderer(size: CGSize(width: 20, height: 20))
let img = renderer.image { (ctx) in
let size = renderer.format.bounds.size
UIColor.red.setFill()
ctx.fill(CGRect(x: 0, y: 0, width: size.width, height: size.height))
}
在上面的代码中,UIColor.red.setFill()
显然只使指定的颜色,即红色,准备填充某个形状。然而,神奇的是, ctx ,它是 a UIGraphicsImageRendererContext
,似乎收到了一条通知,它将CGRect
用红色填充形状!
单纯从这里的代码看不出UIColor
instance methodsetFill()
和UIGraphicsImageRendererContext
instance method之间的联系fill(_: CGRect)
。那么,它是怎么知道的呢?集合UIGraphicsImageRendererContext
填充时如何填充?UIColor
谢谢你。