在Cocoa中同时动画窗口和视图框架

时间:2011-08-20 22:02:48

标签: cocoa core-animation

我需要设置一个视图帧大小的动画,增加100px的高度,但我需要窗口与视图同时成长。

我尝试使用此代码:

    //resize Window
    NSRect winsize = [window frame];
    winsize.size.height += 100;
    [self.window setFrame:winsize display:YES animate:YES];

    //resize View
    NSRect viewsize = [myview frame];
    viewsize.size.height += 100;
    [[myview animator] setFrame:viewsize];

它有效但我获得了一个难看的效果,Window和View在调整大小时有一些延迟。因此,我得到的窗口框架大小比View框架大。 如何修改我的代码以使它们同时调整大小?

添加: 我找到了这个答案,但它似乎对我不起作用: Simultaneously modify window frame and view frame

1 个答案:

答案 0 :(得分:3)

我找到了一个很好的解决方案:使用autoresizingMask来保持最小和最大Y边距并允许高度调整大小。 [myview setAutoresizingMask:NSViewHeightSizable];