【问题标题】:Scroll just a section in CollectionViewCell在 CollectionViewCell 中只滚动一个部分
【发布时间】:2014-07-02 12:00:30
【问题描述】:

我正在尝试collectionView,它可以通过加载数据来配置它,就像UITableView 一样使用customCells,这是我处理得太多的部分,我对它们的功能非常了解。

虽然我在UICollectionViews 上发现了新的一件事,但它是flowLayout 函数。我可以通过使用此函数在下面的方法中为 collectionView 提供CollectionView 上的多个项目的滚动

-(void)setupCollectionView
{
    UICollectionViewFlowLayout *flowLayout = [[UICollectionViewFlowLayout alloc] init];
    [flowLayout setScrollDirection:UICollectionViewScrollDirectionHorizontal];
    [flowLayout setMinimumInteritemSpacing:2.0f];
    [flowLayout setMinimumLineSpacing:2.0f];
    [self.collectionView setCollectionViewLayout:flowLayout];
}

但是这个滚动,让整个collectionView 可以滚动,我不想这样。我的问题是只使 collectionView 的一部分可滚动。这个功能是在 Scribd 上实现的,只滚动一行(部分)并让其他行保持安静。这是它在 Scribd 上的样子:

我想知道有没有什么方法可以通过 CollectionView 和 FlowLayout 功能实现这一点?如果没有,任何人都可以参考或给我一些与此问题相关的建议吗?

谢谢,

3r1d

【问题讨论】:

  • 你确定这不是 3 个包含 1 个部分的 collectionView,而不是 1 个包含 3 个部分的 collectionView 吗?
  • 事实上,为了做到这一点,我会使用一个 tableView,其中 collectionViews 嵌入到自定义 tableViewCells 中
  • @3r1d 为此,您需要在UITableViewCell 中添加UICollectionView,其他选项是在UIScrollView 中添加3 个或更多UICollectionView。第三个选项是在UICollectionViewCell 中添加UICollectionView
  • 好主意,我没想到,谢谢你们!

标签: ios objective-c scroll uicollectionview uicollectionviewcell


【解决方案1】:

当您想滚动到下一部分时,只需调用此方法

-(void)scrollToNextSection{

    //Get all the visible cells
    //Get the index path of the first cell
    NSIndexPath *currentFirstVisibleItem = [[yourCollectionView indexPathsForVisibleItems] firstObject];

    //Scroll to the next section based on the visible cell current section
    [yourCollectionView scrollToItemAtIndexPath:[NSIndexPath indexPathForItem:0 inSection:currentFirstVisibleItem.section+1]
               atScrollPosition:UICollectionViewScrollPositionTop
                       animated:YES];

}

【讨论】:

  • 从我这里看到的,你误会了我。我不想滚动到特定部分,我想滚动包含项目的特定部分。就像 Scribd 一样!
猜你喜欢
  • 1970-01-01
  • 2021-04-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多