Android就像在iOS上有标签的查看分页器一样

时间:2014-06-23 08:23:12

标签: ios uicollectionview uitabbar

我想知道在iOS上使用标签来实现类似于视图寻呼机的最佳方法是什么,就像在FIFA世界杯应用程序Reference Image上找到的那样

我能想到的各种方法是:

  1. 自定义UITabBarController,带有滑动和平移手势 - 我试过这个,滑动体验不如FIFA应用程序那么流畅。它像新的Skype应用程序一样迟缓(想想他们正在使用这种方法)。
  2. 页面视图控制器 - 我也试过这个但遇到了一些奇怪的问题。之后没有尝试过多。
  3. 具有水平分页的集合视图控制器 - 这对我来说似乎是最好的方法,但我不确定内存管理。
  4. 我当前的实现 - 截至目前,我有三个标签栏条目。我为每个人都有单独的视图控制器。这是我使用水平分页集合视图实现它的方式:

    - (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;
    }
    

    我无法找到更好地管理细胞的方法,因此我制作了不同的实体。如何使用这种方法做得更好,或者如果这种方法不好我应该使用什么?

1 个答案:

答案 0 :(得分:3)

实际上对于iOS来说,实现像分段控件这样的本机组件会是一种更好的方法,而不是像本机安卓那样实现。

但是如果你真的想尝试像android这样的viewpager,我想你可以尝试使用这个library here。我试过自己实现它,看起来很棒。希望它有所帮助。