我使用以下代码设置带动画的三个标签的帧。它在ios 7中完美运行,但在ios 8中似乎没有发生动画。
请帮我解决这个问题。
int total = avgAwake+avgLight+avgSound;
[UIView animateWithDuration:1.0 animations:^{
CGRect newFrame = lblSound.frame;
newFrame.size.width = (avgSound*250)/total;
lblSound.frame = newFrame;
newFrame.size.width += (avgLight*250)/total;
lblLight.frame = newFrame;
newFrame.size.width += (avgAwake*250)/total;
lblAwake.frame = newFrame;
}];
答案 0 :(得分:0)
我有一个相当类似的问题所以我切换到autolayout。
对于此解决方案,您必须定义新约束,然后强制更新约束。动画执行布局更改:
//define the new constrains for "theView" here
.....
[theView setNeedsUpdateConstraints];
[UIView animateWithDuration:1.0f animations:^{
[theView layoutIfNeeded];
}];