我是iOS-devel的新手,所以如果这是一个简单的问题,我很抱歉。
我在iPad应用程序中有一个滚动视图,在这个滚动视图中我插入了几个UI按钮。这个滚动视图以垂直方式显示我的按钮(背景为UIImage),允许我在布局上不适合按钮数量时滚动。
然而,我的目标有点不同,我希望单击任何按钮,当单击任何按钮时,一组新的UIButtons(背景上有UIImages)应该出现在单击的按钮之后,也在滚动视图中。当我单击另一个按钮时,以前打开的按钮集"关闭",现在在单击的按钮下打开一个新的按钮集。
我不是100%熟悉iOS应用程序中的所有构建块,有人能建议哪些视图最适合用于此目的吗?
谢谢
我几乎肯定会选择UICollectionView
来在屏幕上排列一组按钮。当用户执行需要一组新按钮的操作时,您只需要更新集合视图所显示的数据集并调用reloadData
方法。
为了说明如何在特定情况下使用UICollectionView,您应该有一个视图控制器类,该类引用了UICollectionView以及要显示的按钮。此类可以有一个NSArray或NSMutableArray,其中包含按钮,例如
@property (readwrite, strong) NSMutableArray *buttons;
最初使用UIButton
的实例填充buttons
数组,这些实例将显示在集合视图中。当您实现UICollectionView
数据源方法以返回索引路径的单元格时,您可以从该数组中获得按钮。
然后,用户操作发生,您需要显示一组不同的按钮。因此,清空buttons
数组,并将新的UIButton
实例放在此处。然后,例如,您调用[self.collectionView reloadData];
,然后创建新单元格并将其与新按钮相关联。