gpt4 book ai didi

cocoa - 层托管 NSView 的调整大小问题

转载 作者:行者123 更新时间:2023-12-03 16:55:49 26 4
gpt4 key购买 nike

我有一个层托管 NSView (-isFlipped = YES) 和三个层托 pipe View 。 subview 是页眉、内容区域和页脚。页眉有一个显示三角形,它将折叠内容 View 并仅显示页眉和页脚粘在一起。

我可以使用核心动画轻松完成此任务,但是当我调整 View 大小时会出现一个奇怪的问题。如果我水平调整 View 大小,我希望所有三个 subview 都匹配新的宽度。如果我垂直调整它的大小,我希望 subview 保持在原来的位置(即 View 的底部边缘应该能够移动而不影响 subview 的位置(当然除了剪切)。这样做的原因是我需要折叠contentView 淡出时 View 的大小。

实际发生的情况是,当高度改变时,所有三个 subview 都被推到 View 顶部上方......然后当水平改变时又弹回原位。它与 View 和 subview 的组合有关,因为如果 subview 直接放置在窗口中,它们的行为就会正常。另外,我尝试在 View 中添加一个按钮,它的行为正常。

通过将其设置为图层支持,我能够以相同的方式让按钮出现错误行为......所以我认为图层支持与它有关。

这就像背景层在调整大小时粘在父 View 上,并且即使坐标翻转也被向上推。

有什么想法吗?

最佳答案

图层托管 View 不应有 subview 。请参阅 -(void)setWantsLayer: NSView 类引用中的文档:

http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/ApplicationKit/Classes/NSView_Class/Reference/NSView.html%23//apple_ref/occ/instm/NSView/setWantsLayer :

Root View 可能应该是一个图层支持的 View ,而不是托管 View 的图层?

关于cocoa - 层托管 NSView 的调整大小问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3814818/

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