【发布时间】:2010-09-28 16:13:33
【问题描述】:
我有一个包含三层托管子视图的托管层 NSView (-isFlipped = YES)。子视图是页眉、内容区域和页脚。页眉有一个显示三角形,它将折叠内容视图并仅显示页眉和页脚粘在一起。
我可以使用 Core Animation 轻松完成此操作,但是当我调整视图大小时会出现一个奇怪的问题。如果我水平调整视图大小,我希望所有三个子视图都匹配新宽度。如果我垂直调整它的大小,我希望子视图保持在原位(即视图的底部边缘应该能够移动而不影响子视图的位置(当然剪裁除外)。原因是我需要折叠contentView 淡出时视图的大小。
实际发生的情况是,当高度发生变化时,所有三个子视图都被推到视图顶部上方......然后在水平变化时重新定位。它与视图和子视图的组合有关,因为如果子视图直接放在窗口中,它们的行为正常。另外,我尝试在视图中添加一个按钮,它的行为正常。
我可以让按钮以同样的方式行为不端,因为它也被层支持......所以我认为层支持与它有关。
这就像支持层在调整大小并被向上推时卡在父视图上,即使坐标被翻转。
有什么想法吗?
【问题讨论】:
标签: cocoa macos calayer nsview autoresize