【问题标题】:All-sides resize of borderless NSWindow in LionLion中无边界NSWindow的全方位调整大小
【发布时间】:2011-08-30 15:29:03
【问题描述】:

在 Lion 中,窗口的标准调整大小方法从右下角更改为四周,并带有一个不可见的区域来单击和拖动。我有一个自定义无边框窗口,类似于 App Store,我希望在该窗口上进行这种调整大小的行为(目前,我在右下角有一个自定义调整大小视图)。我在NSWindow 文档中搜索了“10.7”,但似乎没有一条新消息提示可以启用此功能。

谢谢。

【问题讨论】:

    标签: cocoa nswindow osx-lion


    【解决方案1】:

    我不知道哪个对象负责设置它,但NSWindow 现在在角落和边缘有跟踪区域(打开 Quartz Debug 并选中“显示跟踪矩形”以了解我的意思)。您可以毫不费力地模拟这种行为——它是基本几何。

    【讨论】:

    • 这肯定行得通,但事实证明它要简单得多,而且对我来说是一个严重的错误。我正在使用NSBorderlessWindowMask 构建我的窗口,这在 SL 上是必需的,因为所有其他行为都是自定义的。在 Lion 上,由于我使用的是系统提供的调整大小,我需要添加 NSResizableWindowMask。感谢您的帮助。
    • 对任何未来的 Google 员工的另一个注意事项:确保您只在 Lion 上启用可调整大小的蒙版,否则您将在 Snow Leopard 上获得标准窗口边框以及您的自定义边框。
    • @Nate 确保它在 Lion 上的首选方式是什么?这不可能是可用性测试 - 口罩已经可用很长时间了!
    • 我见过但没有尝试过的简单方法是NSClassFromString(@"NSPopover") != nil。就个人而言,我使用Gestalt(gestaltSystemVersionMinor, &minor),然后使用minor > 6(其中minorSInt32)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-06
    • 1970-01-01
    • 2012-10-14
    相关资源
    最近更新 更多