从顶部调整 NSWindow 的大小

发布于 2025-01-04 17:31:23 字数 236 浏览 1 评论 0原文

我想通过改变框架的高度并使其脱离窗口顶部来缩小 NSWindow。 我尝试过:

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

但它使窗口从底部变小,而不是从顶部变小。

I want to shrink a NSWindow, by changing the height of the frame and having that come off of the top of the window.
I tried:

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

But it made the window smaller from the bottom, not the top.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

擦肩而过的背影 2025-01-11 17:31:23

在 OS X 上的 cocoa 中,原点位于屏幕的左下角。这意味着增加窗口的 y 位置会将其在屏幕上向上移动。由于您想要更改窗口的顶部,因此您希望底角保持在原位,这意味着您不应该更改原点。简单地改变高度就会导致窗口从顶部缩小。

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

In cocoa on OS X, the origin is in the bottom left corner of the screen. This means that increasing the y position of a window will move it up the screen. Since you want to change the top of your window, you want the bottom corner to stay in place, which means you should not change your origin. Simply changing the height will cause your window to shrink from the top.

NSRect frame = [mainWindow frame];
frame.size.height -= 71;
[mainWindow setFrame:frame display:YES animate:YES];
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文