我正在制作一个具有NSSavePanel的Cocoa应用程序。在此面板的使用期内,我允许用户通过两个视图中的复选框在该面板的两个不同附件视图之间切换(分别称为视图A和视图B)。我在雪豹上建造。

视图B在高度上大于视图A。从视图B切换到视图A时,可可从保存面板的高度加上视图B的高度开始,在面板底部绘制视图A,在视图顶部绘制空白A,然后慢慢为该空间设置动画效果,以便视图A向上滑动。看起来还好

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

首先,我不确定如何为从视图A到视图B的过渡设置动画的正确方法进行推理。其次,我不确定要实现这一点。我想我只有一个附件视图,并且在从基本模式切换到高级模式时只显示和隐藏其中的组件,但这似乎有点麻烦。

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

最佳答案

我发现做这种事情的最简单方法是使用NSTabView,它没有不绘制背景的可见选项卡。 A和B是选项卡视图的子视图。使用该复选框可在NSTabView的子视图之间切换-创建使用-[NSTabView selectTabViewItemAtIndex:]的操作方法。然后,您不必担心高度变化,可可可处理过渡。

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

10-09 16:16
查看更多