gpt4 book ai didi

cocoa - NSSavePanel、setAccessoryView 和动画

转载 作者:行者123 更新时间:2023-12-03 17:15:27 25 4
gpt4 key购买 nike

我正在制作一个具有 NSSavePanel 的 Cocoa 应用程序。在此面板模式的生命周期内,我允许用户通过这两个 View 中的复选框在该面板的两个不同附件 View (称为 View A 和 View B)之间切换。我正在 Snow Leopard 上进行构建。

View B 的高度比 View A 更大。当从 View B 切换到 View A 时,Cocoa 从保存面板的高度加上 View B 的高度开始,在面板底部绘制 View A,并在面板底部留有空白。 View A 的顶部,然后慢慢地以动画方式移开该空间,以便 View A 向上滑动。这看起来不错。

当从 View A 切换到 View B 时,Cocoa 将 View B 的组件绘制在保存面板的最顶部,以便它们与保存面板自己的组件(文本字段、按钮等)重叠。然后,它将 View B 向下滑动到保存面板自身组件的下方。这看起来很丑。

首先,我不确定如何推理从 View A 到 View B 的过渡动画的正确方法。其次,我不确定是否能完成它。我想我可以只有一个附件 View ,并在从基本模式切换到高级模式时显示和隐藏其中的组件,但这似乎是一种拼凑。

有什么建议吗?提前致谢。

最佳答案

我发现执行此类操作的最简单方法是使用不带可见选项卡且不绘制背景的 NSTabView。 A 和 B 是选项卡 View 的 subview 。使用复选框在 NSTabView 的 subview 之间切换 - 创建一个使用 -[NSTabView selectTabViewItemAtIndex:] 的操作方法。然后你就不必担心高度变化,Cocoa 会处理过渡。

关于cocoa - NSSavePanel、setAccessoryView 和动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8195183/

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