【问题标题】:NSView outside of NSWindowNSWindow 之外的 NSView
【发布时间】:2012-03-08 00:07:35
【问题描述】:

我有一个 NSWindow,基本上,每次用户将鼠标悬停在 NSWindow 上时,我都试图在 NSWindow 范围之外弹出一个 NSWindow。

但是每次我尝试这样做时,由于 NSView 超出了 NSWindow 的范围,它就会被切断。

这是我想要实现的目标的图片:

【问题讨论】:

    标签: objective-c cocoa nsview nswindow


    【解决方案1】:

    您需要创建一个无边框的NSWindow,足够大以包含您的视图,并使该窗口成为它所连接的主窗口的子窗口。要使一个窗口成为另一个窗口的子窗口,请使用NSWindow 的addChildWindow:ordered: 方法。

    子窗口附加到父窗口,当父窗口移动时,子窗口将随父窗口一起移动。如果您只是打开一个新窗口而不将其设置为子窗口,如果移动另一个窗口,它将被“留下”。

    要制作无边框窗口,请将NSBorderlessWindowMask 作为styleMask 传递给initWithContentRect:styleMask:backing:defer: 的initWithContentRect:styleMask:backing:defer: 方法。

    【讨论】:

      【解决方案2】:

      最简单的方法是创建另一个没有边框的NSWindow 并将按钮放入其中。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-09-06
        相关资源
        最近更新 更多