我的iPad和iPhone界面分别使用UICollectionView
和UITableView
。在每种情况下,都有很多共性:
UITableView
vs重新加载UICollectionView
)UITableView
将推送新控制器,UICollectionView
将使用弹出窗口。我正在使用共享父类来满足其中一些需求。这种方法似乎特别适合数据要求 - 父类构建数据并负责维护数据。我使用两个子类来呈现数据 - 一个带有UITableView,另一个带有UICollectionView。
演示方面不太干净。举一个最简单的例子,当表/集合视图需要知道节的数量时,在每种情况下我都依赖于父节点中的自定义方法:
return [super sectionsCount]
这允许我只设置一次多个值并更新两个视图。
然后是最贫困的部分。同样,为简化起见,请考虑第一部分的标题视图。在这两种情况下,这应该是相同的。我有一个我想要使用的自定义UIView子类,其中有几个属性设置相同。这里的问题是表视图部分的可重用头部需要UITableViewHeaderFooterView
,而集合视图的对应部分需要UICollectionReusableView
。所以为了适应这个,我必须创建这些子类只是为了保存我想要的标题视图。总结如下:
我想要的是:UITableView和UICollectionView应该使用与节的标题相同的UIView子类。在每种情况下,应该相同地设置该视图的自定义属性。
我必须做的事情:
一旦我必须为页脚,特别是细胞做这件事,事情变得有点蠢。我有三次我需要的类,我正在重复我的所有代码来设置视图的自定义属性。
如何在UICollectionView
和UITableView
之间最好地重复使用此逻辑?
答案 0 :(得分:1)
您只需创建广告资源UICollectionReusableViews
,UITableViewHeaderFooterViews
等,然后将自定义视图添加为子视图。如果您稍后需要访问自定义视图,则可以设置其tag
属性并使用[view viewWithTag:]
。