2012-02-12 35 views
3

我想缩小NSWindow,通过改变框架的高度并从窗口顶部脱落。 我想:Rezize NSWindow从顶部

NSRect frame = [mainWindow frame]; 
frame.origin.y += 71; 
frame.size.height -= 71; 
[mainWindow setFrame:frame display:YES animate:YES]; 

但它从底部,而不是顶部做出的窗口小。

回答

2

在OS X上的可可中,原点位于屏幕的左下角。这意味着增加窗口的y位置会将其移动到屏幕上。既然你想改变你的窗口的顶部,你希望底角保持原位,这意味着你不应该改变你的原点。简单地改变高度会导致窗口从顶部缩小。

NSRect frame = [mainWindow frame]; 
frame.size.height -= 71; 
[mainWindow setFrame:frame display:YES animate:YES]; 
+0

这并不完美。几乎窗户从底部收缩,然后向下移动。 – fefwfefefwfwe 2012-02-12 05:34:16

+0

这很有趣。它对我来说工作得很好。你几乎同时在做其他事情吗? – ughoavgfhw 2012-02-12 05:47:37

+0

没有那个......但是底部消失了,我想要顶部消失的地方。 – fefwfefefwfwe 2012-02-12 05:53:36