gpt4 book ai didi

ios - 如何绘制(_ rect : CGRect) actually work?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:07:12 25 4
gpt4 key购买 nike

我不明白这个函数是如何工作的如果我想更改“ View ”的背景颜色,我将访问 View 的背景属性并更改它的值

let containerView = CustomView(frame: CGRect(x: 0, y: 0, width: 400, height: 400))
containerView.backgroundColor = UIColor.blue

但是当我想在 draw() 函数中改变矩形的颜色时我只是调用 UIColor.green.set() 函数。为什么这个函数会改变矩形的颜色

class CustomView: UIView {
override func draw(_ rect: CGRect) {
super.draw(rect)


let rect = UIBezierPath(roundedRect: CGRect(x: 150, y: 150, width: 100, height: 100), cornerRadius: 5.0)
UIColor.green.set() // <- Why this line change rect color ?
rect.fill()
}
}

最佳答案

UIView 有一个 .backgroundColor 属性。当 UIKit 想要显示 View 时,它会检查 .backgroundColor 属性并用该颜色“填充”背景。

UIColor.green.set()rect.fill() 不会改变背景颜色的观点。

当您覆盖draw(_ rect: CGRect) 函数时,UIKit 已经完成了对.backgroundColor 属性的处理,并根据需要填充背景。 您的代码然后在背景上“绘制一个填充的矩形”。

关于ios - 如何绘制(_ rect : CGRect) actually work?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46772677/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com