如何将标题栏添加到弹出窗口

时间:2016-08-26 23:17:42

标签: swift macos cocoa

我正在尝试复制(不再具有功能性)Degrees应用的外观,但我无法弄清楚用于制作标题栏的组件(此处以红色突出显示)。

enter image description here

我设法让我的应用程序作为菜单栏代理运行,并且我已经连接了一个弹出框以显示点击的窗口视图。但它并不完全正确:我的窗口标题栏在弹出框中消失,而Degrees应用程序中使用的栏比Stock窗口控件提供的栏宽。

我怎么能模仿这里的外观?它只是一个ImageView?

1 个答案:

答案 0 :(得分:2)

Popover不显示您发现的窗口标题栏。

只需在窗口视图的顶部添加一个NSView,并为标题添加标签,并为“完成”按钮添加一个按钮,以创建具有所需高度的顶栏。然后在此标题视图的底部添加一条水平线,并以编程方式将其图层的背景颜色设置为您想要的任何颜色。按条形高度偏移所有其他视图。

基本上:

[Window]
    [View]
        [View (Title Parent)]
            [NSTextField]
            [NSButton]
            [Horizontal Line]
        [Other Views]

获取灰色背景,在NSWindowController windowDidLoad

self.titleParentView.wantsLayer = YES
self.titleParentView.layer.backgroundColor = [NSColor grayColor].CGColor;

其中titleParentView是连接到上面在xib / storyboard中创建的视图的IBOutlet