4
我试图创建自定义垂直UIScrollView,它可以处理具有不同页面高度的多个页面。如何创建具有不同页面大小的UIScrollView(页面对齐,反弹)
假设:
- 页面高度大于屏幕高度
- 如果页面比屏幕高度高,它滚动照例的UIScrollView等于或大于 - 与弹跳顶部和底部
- 如果用户最终滚动并且“分页符”在屏幕中间
- 如果没有速度 - 页面捕捉到最近
- 如果有速度 - 页面更改一个在刷卡
我已经尝试了许多方法来实现这一目标的方向,但我已经在很多的UIScrollView怪癖,这使得它很难绊倒了。
问题:
- UIPanGestureRecognizer有获得速度(velocityInView :)不可靠的方法
- scrollViewWillEndDragging:withVelocity:targetContentOffset:方法让我头疼,因为它可以随意摧毁我尝试动画设置内容偏移量
- 我不知道如何在中间页面实现反弹,恐怕我不得不重写整个滚动处理
- 当我尝试重写设置时UIScrollView的减速内容偏移,我所得到的是
- 我的内容设置
- 减速抵消不断超越内容偏移我设置
奖金
我也试过把UIScrollView作为一个页面放在UIScrollView里面,但是这种方法也是脖子上的疼痛。例如,当我处于内部滚动的底部时,然后我向下滚动了一下,将手指放开,然后迅速再次抓住并向上滚动,外侧滚动接触到触摸,滚动显示内部。
有人知道如何做到这一点吗?任何提示将有所帮助,因为我完全卡住了...
请添加链接一些情况下在你的答案,这样会更有帮助他人,他们得到它是什么的想法。 – Kunal 2013-10-14 18:23:28