[英]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.