我需要在水平滚动的同时滚动一个collectionviewitem。而在我的情况下,当我尝试快速滑动,多个索引滚动。当我滚动正常或慢速它工作正常。但是当试图快速滚动它会产生问题。
我不想添加NSTimer以延迟它。如果有人对此有任何疑问,请提出任何答案,但NSTimer除外。
我在scrollViewWillEndDragging中使用的代码
float pageWidth = (self.view.frame.size.width-20)/3 + 10; // width + space
float currentOffset = scrollView.contentOffset.x;
float targetOffset = targetContentOffset->x;
float newTargetOffset = 0;
if (targetOffset > currentOffset)
newTargetOffset = ceilf(currentOffset / pageWidth) * pageWidth;
else
newTargetOffset = floorf(currentOffset / pageWidth) * pageWidth;
if (newTargetOffset < 0)
newTargetOffset = 0;
else if (newTargetOffset > scrollView.contentSize.width)
newTargetOffset = scrollView.contentSize.width;
targetContentOffset->x = currentOffset;
[scrollView setContentOffset:CGPointMake(newTargetOffset, 0) animated:YES];
int index = newTargetOffset / pageWidth;
return index;
答案 0 :(得分:0)
也许你可以禁用滚动,改为添加滑动手势。