当我开始针对 iOS7 进行测试时,我的一些观点遇到了一个非常奇怪的错误。看来,如果任何可以动画的属性在子视图中更改其值,而其父级正在执行动画,则该更改也会被动画化。我有以下方法:
- (void)performAnimation{
[UIView animateWithDuration:0.42
delay:0
options:UIViewAnimationOptionAllowUserInteraction|UIViewAnimationOptionBeginFromCurrentState
animations:^{
self.myView.contentInset = contentInset;
}
completion:NULL];
}
与此同时,我在该视图上的 layoutsubviews 函数被调用,它更新了一些子视图的位置。
-(void)layoutSubviews{
self.someSubview.frame = CGRectMake(10,20,30,40);
}
在 iOS5/6 中,变化是瞬间发生的,但在 iOS7 中,它会变成动画,因此您可以看到我的子视图从初始位置缓慢移动到最终位置。有什么想法吗?