NSAnimationContext行为不端

时间:2014-01-23 08:47:42

标签: cocoa nsanimationcontext

我有一个触发主窗口的按钮,可以为其高度设置动画,从而在下拉菜单中显示一些选项。按钮(以及它的兄弟)放置在窗口的两个底角,所以我希望它们与窗口一起动画 - 从底部窗口边缘“锁定”一段固定的距离。

问题:按钮正常动画可能是10次中的1次 - 其余时间它们在y轴上看似随机偏移。最重要的是,两个按钮获得不同的偏移 - 虽然动画代码是相同的,但它们的行为并不相同。

在OSX 10.9 Mavericks上部署并运行动画正常运行 - 没有行为不端。

关于如何获得以下的简单代码以及在OSX上工作的任何想法< 10.9?

    [NSAnimationContext beginGrouping];
    [[NSAnimationContext currentContext] setDuration:0.2f];
    [[[self window] animator] setFrame:NSMakeRect([self window].frame.origin.x, [self window].frame.origin.y-EXTRA_HEIGHT, ORIGINAL_WIDTH, ORIGINAL_HEIGHT+EXTRA_HEIGHT) display:YES];
    [[_buttonOne animator] setFrameOrigin:NSMakePoint([_buttonOne frame].origin.x, CONSTANT_NUMBER)];
    [[_buttonTwo animator] setFrameOrigin:NSMakePoint([_buttonTwo frame].origin.x, CONSTANT_NUMBER)];
    [NSAnimationContext endGrouping];

0 个答案:

没有答案