Closed xhzengAIB closed 10 years ago
Hi, @xhzengAIB 说实话,我自己不怎么用网易新闻(平常不看这些新闻)。不过网易新闻客户端做得确实挺不错,你说的问题也值得研究。 这几个细节
另外。我自己也不厉害哈,大家互相学习。
@itouch2 您好! 你不用那么谦虚嘛!其实我真心想跟你学习一下,这个问题困了我好久了,
回答: 1、快速滑动,意思手势连续滑动水平的scrollView,这样scrollView最终是没有停下来的,在scrollViewDidEndDecelerating里面需要判断dragging和decelerating、还需要再判断scrollView的另外一个属性tracking,这样才能在连续滑动的时候,直接不显示tableView了,当停止的时候再显示tableView 2、手势这里需要传递,因为会发现有一些冲突,
希望您能开个git的库,一起完成这个效果,谢谢您的热心回复。 Jack
1、 看了下网易,我感觉之所以是白色的logo页面,是因为这些页面是复用的,所以每次取取数的时候,如果是用已经加载过A的数据的页面,这个时候再加载出B,页面的效果过渡就会有问题(用户也会莫名其妙,因为普通用户是没有重用的认识的,这样体验也不好),所以每次这种页面,应该是清空了数据,若 endDecelerating是在当前页面就再加载数据,并且同时,应该会重新加载 page+1 与 page-1的页面,所以如果是一页一页慢慢的滑动就不会出现白页,因为每次停留的时候都加载了左右的与当前的,但是快速的话,用的是复用的页面,如果还没有加载为最新数据的话,就会先清空当前页面的控件,出现logo页。(另外,这里如果一直都快速滑动的话,还是有若干页面是有数据状态的,应该是恰巧复用的页面就是当前数据页)
至于你说的 dragging decelerating tracking 这些条件好像跟这个实现没什么关系。而且我在 scrollViewDidEndDecelerating 里看了下,通常都是 dragging = NO;decelerating = NO;tracking = NO.
2、手势冲突这个,还没有试过。
侧边栏的效果已经有很多的了吧 https://github.com/romaonthego/RESideMenu (网易新闻有可能就是用这个改的吧) https://github.com/hijolan/iOS7Menu
@itouch2 您好! 加个QQ,聊一下吧?543413507
@itouch 这个是神马情况啊???
你怎么认识@jack的???
在 2014-1-22,上午9:41,Jack notifications@github.com 写道:
@itouch2 您好! 请问您有空、有兴趣破解网易新闻的主页框架嘛?细节有一下几个: 1、重用了tableView(三个tableView重用嵌套在一个水平滑动的UIScrollView中,实现无数TableView内容页的水平滑动) 2、快速滑动只显示logo,而不显示tableVIew(水平滑动UIScrollView的时候,tableView不会显示,因为这样能提高用户的快速滑动的体验) 3、并且很好的把pangesture传递给下一个接收gesture的响应者(因为网易新闻还有另外一个框架就是左右侧滑,是通过手势来控制的,所以两者有出冲突,左右侧滑的手势接受方法需要在UIScrollView本身的pangesture传递过来,才能完成侧滑效果)
这是我的个人github地址:https://github.com/xhzengAIB、https://github.com/JackTeam ,我主要是为了开源多一点组件,帮助我们苦逼的程序员,而且能有向您学习的机会。
Jack
— Reply to this email directly or view it on GitHub.
就是在github这里认识的啊。
@itouch2 您好! 请问您有空、有兴趣破解网易新闻的主页框架嘛?细节有一下几个: 1、重用了tableView(三个tableView重用嵌套在一个水平滑动的UIScrollView中,实现无数TableView内容页的水平滑动) 2、快速滑动只显示logo,而不显示tableVIew(水平滑动UIScrollView的时候,tableView不会显示,因为这样能提高用户的快速滑动的体验) 3、并且很好的把pangesture传递给下一个接收gesture的响应者(因为网易新闻还有另外一个框架就是左右侧滑,是通过手势来控制的,所以两者有出冲突,左右侧滑的手势接受方法需要在UIScrollView本身的pangesture传递过来,才能完成侧滑效果)
这是我的个人github地址:https://github.com/xhzengAIB、https://github.com/JackTeam ,我主要是为了开源多一点组件,帮助我们苦逼的程序员,而且能有向您学习的机会。
Jack