我試圖在popover內重現導航視圖的iTunes 11行爲。不過,我似乎無法找到一種方法,讓我的動畫在發生變化時同時發生。動畫自動佈局與NSPopover同時更改contentSize更改
基本設置我是一個自定義視圖子類MyPopoverNavigationView有兩個子視圖:我希望新老並享有酥料餅之間導航。 popover的contentViewController
有一個MyPopoverNavigationView實例作爲它的view
。我這樣做:
// Configure constraints how I want them to show the new popover view
[NSAnimationContext runAnimationGroup:^(NSAnimationContext *ctx) {
[ctx setDuration:0.25];
[ctx setAllowsImplicitAnimation:YES];
[self layoutSubtreeIfNeeded];
} completionHandler:nil];
據我可以從自動佈局WWDC 2012的視頻告訴,這是動畫作爲約束變化的結果改變意見框架的推薦方式。它的工作原理,但動畫發生在兩個階段:
- 首先,酥料餅的
contentSize
將改變,以適應我移動到(這一觀點可見之前,新的觀點,所以它部分地掩蓋了現有內容)。 - 其次,我認爲動畫的意見,使我安裝的約束系統得到滿足。
從設置一些斷點,它看起來像-layoutSubtreeIfNeeded
最終調用名爲_fromConstraintsSetWindowFrame:
的酥料餅,這不我的動畫組外酥料餅的大小動畫的私有方法。我的上下文的持續時間不受尊重,並且在彈出窗口大小更改完成之前,我的動畫不會發生。
我怎樣才能得到我的意見與酥料餅的大小變化在一起動畫?
不適合我的工作,優勝美地 – 2015-02-24 18:05:54