我正在使用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