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