我正在使用UIView动画来调整和翻译包含多个子视图的视图。父视图的动画完美地发生;然而,子视图表现出奇怪的行为。动画开始时,子视图会立即调整大小,然后移至其最终位置。UIView调整大小和翻译动画不会正确动画子视图
例如,如果动画的持续时间和延迟为五秒,则只要动画被调用,子视图就会移动到所需的动画结束值。五秒后,超级视图将被调整大小并翻译成所需的内容。
我对动画代码是:
[UIView animateWithDuration:0.5 animations:^{
if (UIDeviceOrientationIsLandscape(self.interfaceOrientation)) {
self.leftPaneView.frame = leftPaneLandscapeFrame;
self.rightPaneContainerView.frame = rightPaneLandscapeFrame;
}
if (UIDeviceOrientationIsPortrait(self.interfaceOrientation)) {
CGFloat offset = 300;
self.leftPaneView.frame = CGRectOffset(leftPanePortraitFrame, -offset, 0);
self.rightPaneContainerView.frame = rightPanePortraitFrame;
}
}];
任何想法?
注意:rightPaneContainerView包含UIViewController的视图,该视图是调用此动画的视图控制器的子视图。
我已经看到了你的代码,我无法重现您的问题。由于这只是一部较大的动画片,我想这个问题与整个事件序列有关。如果可以的话,分享更多的代码,并且可能会显示自己。 – GrimmRanger
谢谢你看看内脏。跳转子视图的内容模式被设置为左侧,导致动画中令人不快的错误。我的一个业余错误。 – Eytan