我通过将 a放入 aNSView以编程方式构建层次结构。我之前已经这样做过并且我的代码是正确的。NSStackViewNSScroller
视图层次结构是我所期望的,直到第一次通过运行循环(或显示)时,macOS Catalina(我认为是 Mojave)会自动将 a 插入NSVisualEffectView到视图层次结构中。这把我的自定义绘图弄乱了。
我创建的层次结构是
NSScrollView -> NSStackView -> stack subviews
Run Code Online (Sandbox Code Playgroud)
在第一个显示循环之前,滚动视图“丰富”了这一点:
NSScrollView -> NSClipView -> NSStackView -> stack subviews
Run Code Online (Sandbox Code Playgroud)
第一次显示后,NSVisualEffects View 被添加到与 NSClipView 相同的级别:
NSScrollView -> NSClipView -> NSStackView -> stack subviews
-> NSVisualEffectsView
Run Code Online (Sandbox Code Playgroud)
有没有办法告诉滚动视图我不想要视觉效果视图?
任何帮助,将不胜感激!
我有一个 Mac 应用程序,其工具栏中有一个搜索字段(实际上是一个NSTextField,但我NSSearchField也尝试过)。
我的问题是 Big Sur 上的文本字段背景只是纯白色,这使得它很难识别。
Big Sur 上 Safari 的位置栏具有更多对比度。我相信这是通过使用活力(如何更改 NSSearchField 的背景颜色(如 OS X 中的消息应用程序))以某种方式实现的,但我无法获得相同的效果。
我试过:
testTextField.appearance = NSAppearance(named: .vibrantLight)NSVisualEffectView,但显示在文本字段周围编辑:
我应该提到我使用roundedBezel边框样式。仅这一点似乎就会影响背景颜色(即背景始终为白色,无论设置哪种颜色)。
cocoa nstextfield nssearchfield nsvisualeffectview macos-big-sur
嗨,我已经在互联网上四处寻找并找到了有关此主题的各种有用信息,但似乎没有一个有效
标题栏和窗口的其余部分融合在一起。从互联网上,iv 到目前为止得到的代码在我的 viewDidLoad() 中
self.view.window?.appearance = NSAppearance(named: NSAppearanceNameVibrantDark)
self.view.window?.styleMask = (self.view.window?.styleMask)! | NSFullSizeContentViewWindowMask
self.view.window?.titlebarAppearsTransparent = true
self.view.window?.movableByWindowBackground = true
Run Code Online (Sandbox Code Playgroud)
但这并没有做任何事情。我是 Mac 开发的新手(通常是 ios),所以感谢所有帮助!
只是好奇如何完成这种自定义圆柱应用程序视图.源列表直接通过标题栏,但只是在一边,我猜他们隐藏了标题栏,也许然后使用NSVisualEffectView?任何源代码或提示都很受欢迎,它非常酷,从我看到相当广泛使用的UI元素为Yosemite应用程序.

在这张照片中,并添加列表按钮,在搜索栏是明显不同的意见,我完全明白了SOURCELIST风格的NSOutlineView会自动创建10.10这种效果,但按钮和搜索字段不能为源列表滚动区域,但它们的背景与源列表的背景一致,这使我认为这种效果比基于源列表更基于视图.
如何在OS X中显示带圆角的NSVisualEffectView?
我添加NSVisualEffectView的代码:
let visualEffectView = NSVisualEffectView(frame: NSMakeRect(0, 0, 300, 300))
visualEffectView.material = NSVisualEffectMaterial.Dark
visualEffectView.blendingMode = NSVisualEffectBlendingMode.BehindWindow
self.addSubview(visualEffectView)
Run Code Online (Sandbox Code Playgroud) cocoa ×4
macos ×3
swift ×2
appkit ×1
nsscrollview ×1
nstextfield ×1
objective-c ×1
titlebar ×1
xcode ×1