1

メインウィンドウをトリガーして高さをアニメーション化するボタンがあり、プルダウンメニューにいくつかのオプションが表示されます。ボタン(およびその兄弟)はウィンドウの2つの下隅に配置されているため、ウィンドウの下の端から一定の距離で「ロック」されて、ウィンドウと一緒にアニメーション化する必要があります。

問題:ボタンはおそらく 10 回に 1 回は適切にアニメーション化されますが、残りの時間は y 軸上でランダムにずれているように見えます。その上、2 つのボタンは異なるオフセットを取得します。アニメーション コードは同じですが、動作は同じではありません。

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];
4

0 に答える 0