iOS的类似Android视图分页器带有选项卡的实现方法

9
我想知道在iOS上实现类似FIFA世界杯应用程序中发现的Android视图分页器和选项卡的最佳方法Reference Image
我能想到的各种方法是:
  1. 使用自定义UITabBarController和滑动手势- 我尝试过了,但滑动体验不如FIFA应用程序流畅。它像新版Skype应用程序一样缓慢。
  2. 页面视图控制器- 我也尝试过这个,但遇到了一些奇怪的问题。之后没有太多尝试。
  3. 水平分页的集合视图控制器- 这对我来说似乎是最好的方法,但我不确定内存管理。
我的当前实现- 我现在有三个标签栏条目。我为每个标签栏条目都有单独的视图控制器。这是我使用水平分页集合视图实现的方式:
- (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;
}

我无法找到更好的方法来管理单元格,因此我创建了不同的实体。如何在这种方法下做得更好,或者如果这种方法不好,应该使用什么?


2
你是否已经查看了 https://github.com/monsieurje/ICViewPager 这个库,它可以为你完成大部分工作? - Alexander
谢谢亚历山大,这看起来是一个不错的解决方案。我会实施并检查它。 - vin25
1
不是!这只是一个简单的视图翻页器,点被替换为条形和数字,在Android视图翻页器中,条通常位于左侧并缓慢向右移动,在选项卡控件上没有空白区域。 - AsifHabib
2
https://github.com/HusseinB/HBPageViewController - HusseinB
2
虽然有点晚了,但对于那些正在寻找类似于Spotify、Windows Phone、Instagram的东西的人,你可以查看这个很棒的代码库:https://github.com/uacaps/PageMenu - Jorge Casariego
1个回答

4

实际上,对于iOS而言,实现原生组件,如分段控制器(segmented control),会比试图像本机Android提供的那样去实现更好。

但如果你真的想尝试像Android一样使用ViewPager,我认为你可以尝试使用这个。我自己尝试过实现,看起来很不错。希望有所帮助。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接