1

这是一个很难解释的问题,但基本上我有一个带有主屏幕的应用程序,上面有一堆圆形图标。当用户点击一个图标时,它会将一个表格视图推送到导航堆栈上。在主屏幕上点击图标时,我希望点击的图标在滚动时保持在表格视图的顶部,然后放到代表它的单元格中的表格视图上。然而,所有其他图标应该像正常一样保持在传入的表格视图下方。这是我制作的快速图表...

在此处输入图像描述

我即将开始研究这个,我只是想快速发布这个问题,以防有人对我如何解决这个问题有一些想法。非常感谢你的智慧!

4

2 回答 2

2

哦,太容易了!!!

我将尝试解释我的解决方案:

您需要两组图标。

一组位于主视图上,第二组是确切位置,但作为主窗口上的子视图(默认情况下 - 隐藏)

一旦您选择了一个按钮,并且想要推送一个列表 - 您取消隐藏相应的窗口子视图图标,并延迟 - 将其动画/缩小到 tableView 相应的位置。

动画完成后 - 隐藏图标(即时隐藏将不明显,因为此图标将被定位/缩放以在表格视图中精确重新组合图标),并将其移动到默认位置/比例(仍然隐藏)。

就是这样。

于 2012-10-13T17:06:14.390 回答
1

这非常简单,无需添加按钮的第二个实例即可完成。您将为此使用视图层次结构 z-index。

当您将表格视图添加为主视图的子视图时不要使用addSubview,请使用:

[self.view insertSubview:table belowSubview:button];

Button^ 将代表您希望留在顶部的按钮,而对于您的其他按钮,您只需确保它们在堆栈中较低。这样,当桌子飞进来时,它可以继续越过按钮,但按钮将停留在它上方。

您还可以使用:

[self.view insertSubview:table atIndex:5];

在所有这些按钮和表格上,可以完全控制每个对象的 z-index。

于 2012-10-13T17:16:30.550 回答