4
我正在爲包含多個子視圖的層次視圖設置動畫效果。一切都使用自動佈局佈局。目前,我動畫視圖,子視圖沒有被縮小與它一起:動畫層次支持視圖時縮放圖層內容
我想整個事情被抽一次,他們的最終尺寸,然後縮放,因爲它的動畫。 layerContentsPlacement
和layerContentsRedrawPolicy
屬性似乎是我正在尋找,但更改它們似乎沒有任何影響。
這裏是我如何做動畫基本運行通過:
// Add itemView to canvas
NSView *itemView = // ...
itemView.layerContentsPlacement = NSViewLayerContentsPlacementScaleProportionallyToFit;
itemView.layerContentsRedrawPolicy = NSViewLayerContentsRedrawBeforeViewResize;
[parentView addSubview:itemView];
// Add constraints for the final itemView frame ...
// Layout at final state
[parentView layoutSubtreeIfNeeded];
// Set initial animation state
itemView.alphaValue = 0.0f;
itemView.frame = // centered zero'ed frame
// Set final animation state
[NSAnimationContext runAnimationGroup:^(NSAnimationContext *context) {
context.duration = 0.25f;
context.allowsImplicitAnimation = YES;
itemView.alphaValue = 1.0f;
[parentView layoutSubtreeIfNeeded];
} completionHandler:nil];
簡答:不要將視圖的大小調整爲動畫。請使用變換對其進行縮放。 – 2013-03-19 19:09:55