我正在构建应用程序,并希望为主应用程序的NSWindow提供新的Vibrant Dark外观.窗口本身是一个非常直的前窗,顶部有NSToolbar,滚动视图是主要内容区域.
有很多关于使用新的活力外观与NSVisualEffectsVIEw的信息,但是我正在寻找关于如何在NSWindow上使用这些外观的澄清.
在NSAppearance.h头文件中,有一条评论指出,活跃的外观应该只能在NSVisualEffectsVIEw上设置.没有提到它在NSWindow上得到支持.
WWDC视频讲述了确保您使用层次支持的视图,并且在使用新的充满活力的外观时允许您的子视图中的活动,但再次,没有提及在NSWindow上使用它们.
VisualEffectsPlayground示例代码具有使用暗活力模式的Facetime类应用程序的示例,但它没有工具栏,并且使用全内容掩码.
从这些信息,我在我的NSWindowController的windowDIDLoad方法中执行以下 *** 作:
[self.window.contentVIEw setWantsLayer:YES];self.window.appearance = [NSAppearance appearancenamed:NSAppearancenameVibrantDark];
而且,当然,我得到一个黑色的窗口标题栏的黑色NSToolbar.所以看起来它的工作正常,但是当我的滚动浏览滚动其内容(图像的缩略图)NSToolbar下的标准半透明度和窗口的标题栏不存在或随机呈现.似乎没有任何模式.有时滚动滚动浏览时,内容会显示在工具栏和标题栏下的“模糊”状态.其他时候,当我滚动,工具栏和标题栏只是一个不透明的黑色. (标题栏和工具栏仍然绘制他们的标题和按钮.)
当我不要求窗口内容视图的图层时,我会得到一个灰色的标题栏和窗口标题,而不是一个“纯”的黑色. (我的scrollvIEw的背景颜色可以是白色,深灰色还是黑色.)
任何帮助或澄清如何正确配置NSWindow(包含NSToolbar和NSScollVIEw)以使用新的活力外观将非常感谢.
解决方法 这将使一个暗模式的窗口.随后,窗口中的所有内容(包括标题栏,工具栏,甚至对话框)将变黑.let USE_DARK_MODE = true if USE_DARK_MODE { window.appearance = NSAppearance(named: NSAppearancenameVibrantDark) window.invalIDateShadow() }
invalIDateShadow似乎不是必需的,但是如果缺少,有时阴影不能正常工作. (OS X 10.10)
总结以上是内存溢出为你收集整理的objective-c – 如何在NSWindow上使用黑暗的活力?全部内容,希望文章能够帮你解决objective-c – 如何在NSWindow上使用黑暗的活力?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)