我需要设置一个视图帧大小的动画,增加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
答案 0 :(得分:3)
我找到了一个很好的解决方案:使用autoresizingMask来保持最小和最大Y边距并允许高度调整大小。
[myview setAutoresizingMask:NSViewHeightSizable];