[英]Trying to create circular progress bar in Swift
我正在嘗試向Swift中的應用添加循環進度條,但是我找不到任何特定於Swift的示例。 因此,我找到了最簡單的Objective C示例,並試圖將其轉換為Swift。
這是我要遵循的示例: 將圓形進度條與蒙版圖像一起使用?
我被困在這一行:
CGPoint center = CGPointMake(CGRectGetMidX(self.bounds), CGRectGetMidY(self.bounds));
CGRectGetMidX似乎在Swift中不可用。
到目前為止,這是我的所有代碼:
func drawRect(rect: CGRect) {
var ctx = UIGraphicsGetCurrentContext()
var progress: CGFloat = 0.7
var innerRadiusRatio: CGFloat = 0.5
var path: CGMutablePathRef = CGPathCreateMutable()
var startAngle: CGFloat = -M_PI_2
var endAngle: CGFloat = -M_PI_2 + MIN(1.0, progress) * M_PI * 2
var outerRadius: CGFloat = CGRectGetWidth(self.bounds) * 0.5 - 1.0
var innerRadius: CGFloat = outerRadius * innerRadiusRatio
}
我要去哪里錯了? 除了努力翻譯此行外,其他行也有一些錯誤。
我根本沒有收到任何錯誤-據我所知``CGRectGetMidX仍然可用:
var center = CGPointMake(CGRectGetMidX(rect), CGRectGetMidY(rect))
給我錯誤的另一行是這個-這些常量是Double
類型的,需要轉換為CGFloat
,在Swift中,方法是min
而不是MIN
:
var endAngle: CGFloat = CGFloat(-M_PI_2) + min(1.0, progress) * CGFloat(M_PI) * 2
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.