1

我有一个 UICollectionView 和一个名为 MyCell 的自定义单元格。

我一直在努力使用滚动方法,我的滚动是水平的,这是我的代码:

- (void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset
{

            if (velocity.x < 0)
            {
            baseOffset = MAX(0, baseOffset - offsetStep);
            baseOffset-=320;
            NSLog(@"%f", baseOffset);
            }

            else if (velocity.x > 0)
            {
            baseOffset = MIN(scrollView.contentSize.width - scrollView.bounds.size.width, baseOffset + offsetStep);
            baseOffset+=320;
              NSLog(@"%f", baseOffset);
        }
#if 0
        dispatch_async(dispatch_get_main_queue(), ^{
            [scrollView setContentOffset:CGPointMake(baseOffset, 0) animated:YES];

        });
#else
        targetContentOffset->x = baseOffset;
#endif

}

问题是: 1.滚动时单元格不会自动居中 2.如果我到达单元格的末尾并再次滚动,当我向后滚动时它会滚动回最后一个单元格,如果我再次向后滚动它会向右滚动细胞。 3.与 2 相同,但当我在第一个单元格中并向后滚动时。

大师们有什么帮助吗?

谢谢。

4

0 回答 0