簡體   English   中英

嘗試在Swift中創建循環進度條

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM