这是一个很难解释的问题,但基本上我有一个带有主屏幕的应用程序,上面有一堆圆形图标。当用户点击一个图标时,它会将一个表格视图推送到导航堆栈上。在主屏幕上点击图标时,我希望点击的图标在滚动时保持在表格视图的顶部,然后放到代表它的单元格中的表格视图上。然而,所有其他图标应该像正常一样保持在传入的表格视图下方。这是我制作的快速图表...
我即将开始研究这个,我只是想快速发布这个问题,以防有人对我如何解决这个问题有一些想法。非常感谢你的智慧!
这是一个很难解释的问题,但基本上我有一个带有主屏幕的应用程序,上面有一堆圆形图标。当用户点击一个图标时,它会将一个表格视图推送到导航堆栈上。在主屏幕上点击图标时,我希望点击的图标在滚动时保持在表格视图的顶部,然后放到代表它的单元格中的表格视图上。然而,所有其他图标应该像正常一样保持在传入的表格视图下方。这是我制作的快速图表...
我即将开始研究这个,我只是想快速发布这个问题,以防有人对我如何解决这个问题有一些想法。非常感谢你的智慧!
哦,太容易了!!!
我将尝试解释我的解决方案:
您需要两组图标。
一组位于主视图上,第二组是确切位置,但作为主窗口上的子视图(默认情况下 - 隐藏)
一旦您选择了一个按钮,并且想要推送一个列表 - 您取消隐藏相应的窗口子视图图标,并延迟 - 将其动画/缩小到 tableView 相应的位置。
动画完成后 - 隐藏图标(即时隐藏将不明显,因为此图标将被定位/缩放以在表格视图中精确重新组合图标),并将其移动到默认位置/比例(仍然隐藏)。
就是这样。
这非常简单,无需添加按钮的第二个实例即可完成。您将为此使用视图层次结构 z-index。
当您将表格视图添加为主视图的子视图时不要使用addSubview
,请使用:
[self.view insertSubview:table belowSubview:button];
Button^ 将代表您希望留在顶部的按钮,而对于您的其他按钮,您只需确保它们在堆栈中较低。这样,当桌子飞进来时,它可以继续越过按钮,但按钮将停留在它上方。
您还可以使用:
[self.view insertSubview:table atIndex:5];
在所有这些按钮和表格上,可以完全控制每个对象的 z-index。