[英]How to start function drawRect(rect: CGRect) ? Swift
我的应用程序中有rect:CGRect
函数,我该如何使用它? 我试试
drawRect(CGRect,x1:33.33,y1:23.45)
但在下面不起作用我的功能。
func drawRect(rect: CGRect,x1: CGFloat, y1: CGFloat) {
let center = CGPoint(x:x1/2, y: y1/2)
let radius: CGFloat = max(bounds.width, bounds.height)
let arcWidth: CGFloat = 100
let startAngle: CGFloat = 3 * π / 5.99
let endAngle: CGFloat = π / 1.40
let path = UIBezierPath(arcCenter: center,
radius: radius/2 - arcWidth/2,
startAngle: startAngle,
endAngle: endAngle,
clockwise: true)
path.lineWidth = arcWidth
counterColor.setStroke()
path.stroke()
}
您永远不会自己调用drawRect
。 它在需要时由框架调用。
正确的解决方案是在视图上调用setNeedsDisplay()
。 每当视图的状态发生变化以致于希望调用drawRect
时调用此方法。
最重要的是,您有错误的drawRect
方法。 UIView
的一个只有一个参数 - CGRect
。
而在 Swift 3 中,它将是:
override func draw(_ rect: CGRect) {
}
你不应该调用 drawRect()。 当要查看重绘时,调用 setNeedsDisplay() 方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.