iphone – UIView调整大小并翻译动画不会正确地为子视图设置动画

前端之家收集整理的这篇文章主要介绍了iphone – UIView调整大小并翻译动画不会正确地为子视图设置动画前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用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的视图,该视图是调用此动画的视图控制器的子视图.

解决方法

我设法解决了这个问题.某些视图的内容模式设置为Left.动画开始时,视图将向左跳转,然后动画化为所需的动画结束值.

一个业余的错误.谢谢大家看看.

猜你在找的Xcode相关文章