美文网首页
【问题收集】UICollectionView:设置content

【问题收集】UICollectionView:设置content

作者: 小子爱搞事 | 来源:发表于2017-02-10 17:55 被阅读1337次

    场景

    Paste_Image.png

    上面的标签栏是使用 UICollectionView 实现的,需要实现的效果是:

    规则:
    上面的标签栏,选中的标签显示中间,偏左/偏右的标签由于如果移动到中间,就会使左边/右边空出来,因此显示collectionView顶在最左/最右即可,如下图(本例子中有 0 到 9 标题的标签)

    Paste_Image.png

    在切换下面的控制器界面时,上面的标签会跟随着切换到选中的标签并进行滚动(满足上面的规则滚动)

    滚动代码:

    1,使用 contentOffset 属性设置
    // 滚动到最右代码
    [self.collectionView setContentOffset:CGPointMake([self widthOfCollectionView] - CGRectGetWidth(self.frame), 0) animated:YES];
    

    animated 设置为 YES 时:滚动的位置并不准确
    设置 NO 时:能够准确滚动

    2,通过 - (void)scrollToItemAtIndexPath:(NSIndexPath *)indexPath atScrollPosition:(UICollectionViewScrollPosition)scrollPosition animated:(BOOL)animated; 方法滚动
    [self.collectionView scrollToItemAtIndexPath:[NSIndexPath indexPathForRow:self.labelCount-1 inSection:0] atScrollPosition:UICollectionViewScrollPositionRight animated:NO];
    

    animated 设置为 YES 时:滚动的位置并不准确
    设置 NO 时:能够准确滚动


    总结:

    因此,在 UIScrollView , UITableView , UICollectionView 设置进行滚动时,如果设置 animated 设置为 YES 不能够准确的滚动时,设置成 NO 尝试

    使用的场景还有:

    tableView 滚动到顶部或者指定位置

    相关文章

      网友评论

          本文标题:【问题收集】UICollectionView:设置content

          本文链接:https://www.haomeiwen.com/subject/eytnittx.html