当设置UILabel帧大小的动画时,更改的是iOS9,而不是iOS8(在iOS8上,改为跳转到最终状态)使用UIView或iOS9时,此问题消失。
什么会导致这个问题?(你可以在https://github.com/IdoNave/UIlabelAnimation上看到这个项目)

class MyView: UIView {

var progrssLabel: UILabel?

func startProgreesAnimation(from: CGFloat, duration: Double) {
    if progrssLabel == nil {
        progrssLabel = UILabel(frame: CGRect(x: 0, y: 0, width: frame.width * from, height: frame.height))
        progrssLabel?.backgroundColor = UIColor.redColor()
        self.addSubview(progrssLabel!)
    }

    UIView.animateWithDuration(duration, delay: 0, options: UIViewAnimationOptions.CurveEaseInOut, animations: {
        self.progrssLabel!.frame = self.bounds
    }) { (finish) in
        print("ProgreesAnimation ended")
    }
}

}

最佳答案

找到此问题的原因和解决方案:https://stackoverflow.com/a/22224630/1105726
将标签添加到其他视图并在视图上运行动画解决了问题!(链接中有更多详细信息)

09-07 11:41