如何更改Cocoa窗口调整大小的方向?

时间:2010-11-07 21:56:14

标签: cocoa xcode interface-builder

我正在尝试这样做,以便我的主窗口将调整大小,使其向右扩展并使原始部分保持在原来相同的位置。现在,当我单击我的调整大小按钮时,它向左扩展,用它推出我的控件以为新空间腾出空间。我希望它向右扩展,以便它就像一个滑出窗口。新空间将显示已保存的项目ScrollView。

这就是我想要做的事情:

|---------------------|

|------Original-----|

|---------------------|

|-----------------------------------------------|

|------Original------|  ---> New Space --|

|-----------------------------------------------|

现在它正在这样做:

|---------------------|

|------Original-------|

|---------------------|



|-----------------------------------------------|

|------Original-----|  <-- New Space --|

|-----------------------------------------------|

将原件推到左边。

(我希望这会有所帮助,需要一段时间)

这是我的代码

NSRect resize;
int newWinWidth = 800;
int newWinHeight = 380;
resize = NSMakeRect([window frame].origin.x - (newWinWidth - (int)(NSWidth([window frame]))), [window frame].origin.y - (newWinHeight - (int)(NSHeight([window frame]))), newWinWidth, newWinHeight);
[window setFrame:resize display:YES animate:YES];`

也许我需要做的就是改变窗口的来源,但我无法弄清楚如何做到这一点。

提前致谢!

如果您需要更多信息或某些内容不明确,请询问任何内容。

2 个答案:

答案 0 :(得分:0)

您可以从Interface Builder执行此操作,选择您的控件并在检查器窗口的“调整大小”选项卡中选择调整大小属性和约束(Interface Builder允许您在窗口/视图调整大小时查看控件行为的预览)

答案 1 :(得分:0)

问题是你正在更改窗口的来源。解决方案就是不这样做。保留原点相同并仅更改大小。

AppKit中的窗口起点从第一个屏幕框架的左下角到窗口框架的左下角计算。