当动画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")
}
}
}
答案 0 :(得分:0)
在https://stackoverflow.com/a/22224630/1105726找到此问题的原因和解决方案 将标签添加到其他视图并在视图上运行动画解决了问题! (链接中的更多细节)