ios - 循环进度条帮助,Swift 编程语言

标签 ios iphone xcode swift xcode6

我想在 swift 中制作一个小的圆形进度条,

这是我目前的情况

 private var Timer:CGFloat = 100;

 override func update(currentTime: CFTimeInterval) 
 {
    /* Called before each frame is rendered */
    var StartAngle:CGFloat!
    var EndAngle:CGFloat!

    var circleTimer:UIBezierPath!

    StartAngle = CGFloat(M_PI * 1.5)
    EndAngle = StartAngle + CGFloat((M_PI * 2))

    var Progress:CGFloat = (EndAngle - StartAngle) * (Timer / 100) + StartAngle

    circleTimer.addArcWithCenter(CGPointMake(200, 200), radius: CGFloat(130), startAngle: StartAngle, endAngle: Progress, clockwise: true)

    Timer--;
}

我在运行应用程序时遇到此错误

“BAD_INSTRUCTION(代码=EXC_I386_INVOP,子代码=0x0)”

在这条线上

“circleTimer.addArcWithCenter(CGPointMake(200, 200), radius: CGFloat(130), startAngle: StartAngle, endAngle: Progress, clockwise: true)”

我对 Swift 还很陌生(用其他语言编程),我似乎无法解决。

谢谢 卢克

最佳答案

你还没有初始化circleTimer所以circleTimer是nil。你应该先初始化它然后再调用

circleTimer.addArcWithCenter(CGPointMake(200, 200), radius: CGFloat(130), startAngle: StartAngle, endAngle: Progress, clockwise: true)

用路径初始化

var circleTimer:UIBezierPath! = UIBezierPath()

同样写在draw rect中

 override func drawRect(rect: CGRect) {

    /* Called before each frame is rendered */
    var StartAngle:CGFloat!
    var EndAngle:CGFloat!

    var circleTimer:UIBezierPath! = UIBezierPath()
    StartAngle = CGFloat(M_PI * 1.5)
    EndAngle = StartAngle + CGFloat((M_PI * 2))

    var Progress:CGFloat = (EndAngle - StartAngle) * (Timer / 100) + StartAngle

     //Test this working fine
    //circleTimer.addArcWithCenter(CGPointMake(50, 50), radius: CGFloat(130), startAngle: 0.0, endAngle: Progress, clockwise: true)

    circleTimer.addArcWithCenter(CGPointMake(200, 200), radius: CGFloat(130), startAngle: StartAngle, endAngle: Progress, clockwise: true)

    Timer--;
    circleTimer.lineWidth = 20;
    UIColor.redColor().setStroke()
    circleTimer.stroke()
}

关于ios - 循环进度条帮助,Swift 编程语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26544717/

相关文章:

objective-c - 命令/usr/bin/lipo 失败,退出代码 1 错误

ios - 多次使用同一个 View Controller

iPhone以编程方式设置界面方向

iphone - 顺时针旋转 UIView 大于 180 度的角度

ios - 应用程序崩溃没有任何错误

iphone - iOS TableView 崩溃加载不同的数据

objective-c - 关闭键盘和按钮

ios - 为什么只有一个代表?

iphone - 试图了解iOS平台上的内存管理

ios - 防止快速点击 View