3

只是好奇如何完成这种自定义的列式应用程序视图。源列表直接通过标题栏,但只是在一方面,我猜他们隐藏了标题栏,也许然后使用了 NSVisualEffectView?任何源代码或提示都值得赞赏,它非常酷,而且从我看到的优胜美地应用程序的 UI 元素中得到了相当广泛的使用。

直接通过 NSTitleBar 的半透明源列表

这张照片中的搜索栏和添加列表按钮显然在不同的视图中,我完全理解具有 SourceList 样式的 NSOutlineView 会在 10.10 中自动创建这种效果,但按钮和搜索字段不能在源中列表滚动区域,但它们的背景与源列表的背景一致,这让我认为这种效果更多基于视图而不是基于源列表。

4

1 回答 1

7

好的,所以我自己回答了这个问题。我在这里创建了一个 github 存储库,向其他人展示如何轻松创建我想要创建的效果。

三透明窗口

基本要点是创建一个 NSVisualEffectsView 然后简单地隐藏标题栏并设置标题栏掩码。

@implementation AppDelegate

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
// Insert code here to initialize your application

self.window.styleMask = self.window.styleMask | NSFullSizeContentViewWindowMask;
self.window.titleVisibility = NSWindowTitleHidden;
self.window.titlebarAppearsTransparent = YES;

}

上面的代码将使窗口接受视图,它会自动通过标题栏流血。这是我的XIB

在此处输入图像描述

当你运行时,你会得到一个很好的侧边栏样式透明视图,它延伸到标题栏。

在此处输入图像描述

于 2014-10-19T00:48:34.737 回答