collectionview 滚动到指定组

今天开发中遇到一个小问题:

需求:实现支付宝的应用管理页面,点击标签collectionView滚动到指定的section.

效果图

开始通过调用系统api:

但是这样头部显示不了,为了需求只能修改;在上面的代码之后设置contentOffset,但是会有一个下移动的效果

为了效果更加平滑,首先根据indexPath获取到headerview,然后设置contentOffset

然而由于indexPath超过可见视图范围,这个时候取到的headerview为nil.无法实现效果。不过通过oc另外一个方法可以实现效果

  [self.collectionView layoutIfNeeded];
            UICollectionViewLayoutAttributes *attributes =[self.collectionView layoutAttributesForItemAtIndexPath:indexPath];
            CGRect rect = attributes.frame;
            CGPoint point = CGPointMake(0, rect.origin.y - Get375Width(40));
            [_collectionView setContentOffset:point animated:YES];

你可能感兴趣的:(collectionview 滚动到指定组)