gpt4 book ai didi

objective-c - CALayer 和 View Controller View 重叠间歇性问题

转载 作者:行者123 更新时间:2023-12-03 18:02:50 24 4
gpt4 key购买 nike

我有一个主窗口 Controller ,它是一个带有 ScrollView (蓝色矩形)的 NSWindowController (金色矩形),以及一个由 NSViewController (黄色矩形)控制的 subview 。

根据用户的选择,相应的 nib 文件将通过 NSViewController 加载到 subview 中。

不幸的是,由于设计限制, ScrollView 将根据用户操作隐藏或取消隐藏。不幸的是,这个 ScrollView 必须与 View 重叠。

其中一个 View 也是 qtmovielayer,因此我有层支持主窗口 Controller 和所有元素。图层支持设法使 ScrollView 出现在 qtmovielayer 的前面。

当一切正常时,它看起来像左图。然而,当我启动应用程序时,有 1/5 次 ScrollView 出现在 subview 后面,如右图所示。我已经尝试和寻找了大约一个半星期的时间来了解为什么会发生这种情况,而且我因撕扯和拉扯头发而变得秃顶。

我在网上能找到的唯一资源是设置图层 z 位置,但问题仍然存在。

如果有人知道为什么会发生这种情况或如何解决这个问题,我们将不胜感激。 alt text

最佳答案

您想让 ScrollView (蓝色)成为 subview (黄色)的 subview 。 subview 始终出现在其父 View 的“前面”。就像家庭照片一样, children 总是站在 parent 的前面:) 因此,请在 viewDidLoad 中使用 addSubView 方法,通过向 addSubview 发送金色 View 消息,而不仅仅是在主视图中添加蓝色。

关于objective-c - CALayer 和 View Controller View 重叠间歇性问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4742884/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com