选择用于布置多个按钮的iOS视图

时间:2014-02-25 23:58:32

标签: ios objective-c ipad

我是iOS devel的新手,所以如果这是一个简单的问题,我很抱歉。

我在iPad应用程序中有一个scrollView,在滚动视图中我插入了几个UIButton。此滚动视图以垂直方式显示我的按钮(背景为UIImage),允许我在按钮数量不适合布局时滚动。

但是我的目标有点不同,我希望点击任何按钮,当点击任何按钮时,一组新的UIButton(背景上有UIImages)应该出现在点击按钮后面,也在滚动视图。当我点击另一个按钮时,之前打开的按钮组“关闭”,现在在点击的按钮下面会打开一个新的按钮。

我不是100%熟悉iOS应用程序中的所有构建块,有人可以建议哪些视图最适合这个目的吗?

谢谢

1 个答案:

答案 0 :(得分:0)

我几乎肯定会选择UICollectionView来在屏幕上排列一组按钮。当用户执行需要一组新按钮的操作时,您只需要更新集合视图所呈现的数据集并调用reloadData方法。

为了阐明如何在特定情况下使用UICollectionView,您应该有一个视图控制器类,它具有对UICollectionView的引用以及您希望显示的按钮。这个类可以有一个NSArray或NSMutableArray,它包含按钮,例如

@property (readwrite, strong) NSMutableArray *buttons;

您最初使用buttons的实例填充UIButton数组,您将在集合视图中显示这些实例。当您实现UICollectionView数据源方法以返回索引路径的单元格时,您将从此数组中获取按钮。

然后,用户操作发生,您需要显示一组不同的按钮。因此,您清空buttons数组并将新的UIButton实例放在此处。然后,您调用[self.collectionView reloadData];,然后创建新单元格并将其与新按钮相关联。