UILabel帧大小动画无法在ios8上运行

时间:2016-04-26 07:20:13

标签: ios swift animation

当动画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")
    }
}

}

1 个答案:

答案 0 :(得分:0)

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