ind*_*gie 8 cocoa core-animation objective-c calayer nsview
我有一个看起来像这样的视图层次结构:
所以基本上我有一个带有子视图的NSSplitView,它包含一个滚动视图(用于表视图)以及一个包含3个子视图的页脚视图.需要注意的一些重要事项:
NSClipView
的NSScrollView
是一种特殊的子类,是一个层托管视图,并且使用CAScrollLayer
作为背衬层.这种布局我的行为非常不稳定.以下是我正在获得的三个不同场景,每次启动应用程序时都会随机化.
1)一切都好看.背景视图和所有内容都在那里:
2)按钮显示正常,但背景视图似乎是部分透明的:
3)背景视图显示正常但按钮消失:
绝对没有代码在每个场景之间发生变化.我只是停下来再次运行应用程序.我确保在运行时我没有更改与不透明度相关的任何内容.我在运行时唯一要做的就是在视图上设置背景颜色和图像.
编辑:我有一种感觉,重叠的视图可能会造成麻烦,所以我测试没有重叠,得到相同的结果.
编辑2:这似乎是zPosition
层支持视图的层的问题.订单是乱码和随机的.如果我手动强制图层的zPosition到正确的值以匹配子视图顺序,那么一切都很好.不幸的是,我找不到更简洁的方法来做到这一点,而不仅仅是设置zPosition
.