我有一个主窗口控制器,它是一个带有滚动视图(蓝色矩形)的NSWindowController(黄金矩形),以及一个由NSViewController(黄色矩形)控制的子视图。
根据用户选择,相应的nib文件将通过NSViewController加载到子视图中。
不幸的是,由于设计限制,根据用户操作,滚动视图将被隐藏或取消隐藏。不幸的是,这个滚动视图必须与视图重叠。
其中一个视图也是一个qtmovielayer,所以我有层支持主窗口控制器和所有元素。层支持设法使滚动视图出现在qtmovielayer前面。
当一切运作良好时,它看起来像左边的图像。但是,当我启动应用程序时,滚动视图显示在后面的子视图,如右图所示。我一直在努力寻找大约一周半的时间,为什么会发生这种情况,而且我会因为撕裂和拉扯我的头发而秃顶。
我在网上找到的唯一资源是设置图层z位置,但问题仍然存在。
如果有人知道为什么会发生这种情况或者如何解决这个问题,将不胜感激。
答案 0 :(得分:1)
您想要将滚动视图(蓝色)设为子视图的子视图(黄色)。子视图始终显示在其父视图的“前面”。就像家庭照片一样,孩子们总是站在父母的面前:)所以,通过将消息的黄金视图发送到addSubview,在viewDidLoad中使用addSubView方法,而不只是将主视图添加为蓝色。