2

I'm making a view with a 9 x 9 grid whose cells and layout will never change or scroll. I was thinking of using UICollectionView for this but the more I look into it the more I'm finding that it's geared towards grid views that scroll and may change and reposition. Is this a good assessment? If so, am I better off sticking with my own hand-rolled grid-based view? That would at least enable me to support devices running iOS versions < 6.

4

3 回答 3

2

如果单元格不需要滚动或更改,那么简单地拥有一个包含 9 个子视图的视图是完全可以接受的。集合视图非常适合布局更改时,例如设备旋转。如果您支持多个方向,这仍然可以在没有集合视图的情况下处理。

于 2013-04-30T02:06:23.963 回答
2

我更喜欢 UICollectionView 用于基于网格的结构,即使它是不可滚动的。我们应该尝试使用原生组件,然后我们应该根据需要定制它们。

  1. 如果您将来开始支持滚动,它将来可以管理。
  2. 您可以使用 Apple 提供的更精确的 API 添加单元格删除、单元格添加等功能。
  3. 视图将是可重用的。

并且假设您想要支持 iOS < 6.0 ,您可以使用“PSTCollectionView”,它是开源库。该库检查 iOS 版本并采取相应的行为。

  https://github.com/steipete/PSTCollectionView
于 2013-04-30T05:00:54.207 回答
0

如果是静态的,你的意思是静止的,是的;而且,不仅是因为第一个答案提供的原因。以下是一些额外的原因,我认为这些原因更有说服力:

  1. UICollectionView 网格布局可以很好地适应方向变化;
  2. UICollectionViewCell 允许根据除内容大小之外的其他因素更好地控制单元格大小
  3. UICollectionViewDatasourceDelegate 简化了将动态数据连接到视图并显示更新的过程

这只是几十个原因中的三个;对于其他人,只需列出集合视图框架提供的所有优势。

集合视图的价值根本不是基于滚动。我这么说是因为滚动不是集合视图框架的一部分。集合视图框架是一个 UIScrollViewDelegate。提供滚动的是 UIScrollView 类。

因此,无论您是否选择添加滚动,集合视图提供的所有优势都是您的。

于 2016-12-18T08:05:36.250 回答