我正在使用UIView动画来调整大小并翻译包含多个子视图的视图.父视图的动画完美发生;但是,子视图表现出奇怪的行为.动画开始时,子视图会立即调整大小,然后移动到最终位置.
例如,如果动画的持续时间和延迟为五秒,则一旦调用动画,子视图将移动到所需的动画结束值.五秒后,superview将调整大小并转换为所需的.
我的动画代码是:
[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的视图,该视图是调用此动画的视图控制器的子视图.