这是我第一次使用Cocoa,我添加了一个NSSplitViewController作为我的NSWindowController的内容视图。我在NSSplitViewController中添加了两个侧栏,但我不断收到以下运行时警告,我似乎无法找到导致此问题的原因:
WARNING: The SplitView is not layer-backed, but trying to use overlay sidebars..
implicitly layer-backing for now. Please file a radar against this app if you see
this.
修改
此时,一切都在故事板中。 NSSplitViewController有三个部分,左侧边栏,主内容区域和右侧边栏(想想Xcode或Pages)。在两个侧边栏中,我有一个标签(仅用于测试)。此外,这是运行时警告。
对此的任何见解都会很棒。谢谢!
答案 0 :(得分:11)
我刚刚遇到同样的问题。 由于您正在使用侧边栏,并且侧边栏现在是半透明的,因此底层视图需要进行图层支持。要实现这一点,请将分割视图设置为在View Effects Inspector中具有核心动画层:
确保splitview中的所有其他视图也标记为图层支持。当我忘记这一点时,我得到了重绘问题。
答案 1 :(得分:0)
最近在 macOS 11 上使用 Xcode 12.4 进行开发。仅选中 Interface Builder 中的复选框是不够的。为了消除警告,我必须在 awakeFromNib
:
// Assume splitViewController is an NSSplitViewController stored in an iVar
splitViewController.splitView.wantsLayer = true
终于摆脱了警告。