Skip to content

支持最后一个跳转到初始位置时,带有动画效果#310

Open
ZZZZou wants to merge 2 commits intogsdios:masterfrom
ZZZZou:master
Open

支持最后一个跳转到初始位置时,带有动画效果#310
ZZZZou wants to merge 2 commits intogsdios:masterfrom
ZZZZou:master

Conversation

@ZZZZou
Copy link
Copy Markdown

@ZZZZou ZZZZou commented May 3, 2017

在scrollViewDidEndScrollingAnimation这个代理方法里面,增加了一个判断,使得最后一个或第一个跳转到初始位置(也就是collection的中间位置)时,带有跟其他轮播一样的动画效果

@gsdios
Copy link
Copy Markdown
Owner

gsdios commented May 3, 2017

这个是不是会明显看到滚动经过了很多张图片?

@gsdios gsdios closed this May 3, 2017
@ZZZZou
Copy link
Copy Markdown
Author

ZZZZou commented May 3, 2017

不会啊,从效果上看,是看不出差别出来的,在跳回初始位置时,调用的是- (void)scrollToItemAtIndexPath:(NSIndexPath *)indexPath atScrollPosition:(UICollectionViewScrollPosition)scrollPosition animated:(BOOL)animated这个方法,因为把animated置为NO,所以不会有那种滚动经过很多张图片的效果

@ZZZZou
Copy link
Copy Markdown
Author

ZZZZou commented May 3, 2017

因为您现阶段的项目中,在最后一个跳转到初始化位置时,是没有动画效果的。而且如果反方向滚动(跟自动滚动方向相反),到了第一个这里,就不能继续滚动了。当然这个问题是极端情况,一般也不会遇到。
我添加的那段代码就是说,在动画结束或拖拽后滚动结束时做一个判断,如果当前是最后一个或第一个,说明这时候colllection滚动到了极限,在这个时间点上跳转到初始位置,跳转到初始位置这个操作是没有动画效果的。所以从app上看来,就优化了上面的这个问题。

@gsdios
Copy link
Copy Markdown
Owner

gsdios commented May 4, 2017

你是实现了在滑动到临界位置时再瞬间跳回中间位置的功能模拟无限循环吗?我随后测试下,没有问题的话就merge下,感谢关注与支持!

@gsdios gsdios reopened this May 4, 2017
@wuxiaopei
Copy link
Copy Markdown

请问作者,手动滑动到最后一张图片,是在调用了什么方法,回到第一张图片的。如果是scrollToItemAtIndexPath:,这个方法只在自动轮播的scrollToIndex 方法里面调用还有 layoutSubview 有调用啊?我看了半天没怎么明白,望指点一二。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants