我想知道什么是最好的方法来实现像iOS一样的视图分页器与iOS上的标签,就像在FIFA世界杯应用程序
上找到的那样
我能想到的各种方法是:
>自定义UITabBarController与滑动和平移手势 – 我尝试了这一点,滑动体验不像FIFA应用程序那样流畅.它像新的Skype应用程序一样迟缓(想想他们正在使用这种方法).
>页面视图控制器 – 我也试过这个,但遇到了一些奇怪的问题.之后没有尝试过多.
>具有水平分页的集合视图控制器 – 这对我来说似乎是最好的方法,但我不确定内存管理.
我目前的实现 – 截至目前我有三个标签栏条目.我为每个人都有单独的视图控制器.这是我使用水平分页集合视图实现它的方式:
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath { NSInteger indexNumber = indexPath.row; UICollectionViewCell *cell; switch (indexNumber) { case 0: cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"collectionViewCell1" forIndexPath:indexPath]; [cell.contentView addSubview:self.firstViewControllerObject.view]; break; case 1: cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"collectionViewCell2" forIndexPath:indexPath]; [cell.contentView addSubview:self.secondViewControllerObject.view]; break; case 2: cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"collectionViewCell3" forIndexPath:indexPath]; [cell.contentView addSubview:self.thirdViewControllerObject.view]; break; default: break; } return cell; }
我无法找到更好地管理细胞的方法,因此我制作了不同的实体.如何通过这种方法更好地做到这一点,或者如果这种方法不好我应该使用什么?
解决方法
实际上对于iOS来说,实现像分段控件这样的本机组件将是一种更好的方法,而不是尝试像本机android提供的那样实现.
但如果你真的想尝试像android这样的viewpager,我想你可以尝试使用这个library here.我试过自己实现它看起来很棒.希望能帮助到你.