我试图在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