我有一個子圖層UIView
,它由幾個圖層組成(主要是CAShapeLayers
和幾個CATextLayers
)。我的問題是,如果我動畫使用動畫塊(beginAnimations
,commitAnimations
)調整大小的UIView
和重新佈局在子層覆蓋layoutSubviews
,則所述層不與UIView
動畫。動畫UIView及其子圖層
下面是我的代碼進行動畫處理UIView
的框架:
miniView.backgroundColor = [UIColor orangeColor];
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1.0f];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationRepeatCount:MAXFLOAT];
[UIView setAnimationRepeatAutoreverses:YES];
miniView.frame = newFrame;
[UIView commitAnimations];
所以問題是,認爲正確的動畫,但子層都沒有。我可以看到視圖在不斷增大和縮小,但子層立即增長,然後保持新的更大尺寸。調整視圖大小時調整視圖子圖層的最佳方式是什麼?我如何使用父視圖以相同的方式創建動畫?
你有沒有找到答案?我和諾亞有同樣的問題。 Brandon提供的解決方案稍微有點不同,因爲它只是將子圖層縮放爲圖層的一部分,而不是在動畫期間實際重新繪製它們的新大小。 – 2011-01-25 20:37:59