我正在尝试构建一个带有可滑动页面的标签栏,与Android的ViewPager完全相似。每个页面只能容纳一个UITableView
我不知道实现这个目标的更好方法是什么,但到目前为止我有2个想法。标签也是动态的。我可以有一个标签或10个标签。这取决于我正在与之通信的API。 (标签代表商店类别,表格视图代表产品)
选项卡将是一个UICollectionView,然后我将使用以下选项之一:
- 第一种方法是构建两个UIView,每个UIView都将包含一个UITableView。一个UIView将在屏幕边界之外,另一个将是正在显示的那个。当用户滑动并且标签发生变化时,显示的UIView将移动到屏幕边界之外,向右或向左移动,另一个UIView将显示。一旦滑动操作开始,我将更改UIView(即将显示的那个)数据源并重新加载其数据。
- 第二种方法是让一些ViewControllers或UIViewContainers等于选项卡的数量(这是动态的)。我不确定我是如何实现这个的,因为我不得不担心在我的主UIViewController中重用UIViewControllers / UIViewContainers以及处理大量的UIViewControlhers。
- 使用一个大的UICollectionView在每个UICollectionView单元格中托管UITableView。它几乎与旧的App Store相反
UICollectionView in UITableView Tutorial
醇>
那么,大多数人如何实现类似的UI?我应该考虑采用不同的方法吗?还有哪些其他技巧可以帮助我实现它?
编辑:我可能已经留下了最后的细节。我实际上有2套标签(类别和子类别)。它们既可以显示,也可以显示,或者不显示。这取决于API的响应。因此,使用第三方库可能很难甚至不可能。
EDIT2:增加了第3种方法。