网易首页导航封装类

  1. 云栖社区>
  2. 博客列表>
  3. 正文

网易首页导航封装类

社会主义 2016-04-20 13:34:24 浏览641 评论0

摘要: 最近来新项目,要做类似新浪那样的,问了下亮哥,亮哥给发了一个demo,做的挺不错的特别是上面的导航,我基本都是在demo的基础上改了下满足了公司的要求,问安卓开发的他们说有第三方,今天闲着没事自己试着进一步的封装了下,同时把源放在了github上,方便以后要做的朋https://github.com/ywcui/ViewPagerndicator 这里不贴源码了,记录下自己遇到的问题。

最近来新项目,要做类似新浪那样的,问了下亮哥,亮哥给发了一个demo,做的挺不错的特别是上面的导航,我基本都是在demo的基础上改了下满足了公司的要求,问安卓开发的他们说有第三方,今天闲着没事自己试着进一步的封装了下,同时把源放在了github上,方便以后要做的朋https://github.com/ywcui/ViewPagerndicator

这里不贴源码了,记录下自己遇到的问题。

问题1:由于在底部滑动时会执行UIScrollViewDelegate代理中的scrollViewDidScroll方法,而我在方法里面让导航栏滑动了, 但在执行导航栏滑动的代码中执行了代理barSelectedIndexChanged;在实现这个代理中我又将下面的滑动的方法执行了这样就造成了循环,这个问题当时试了几次,中午吃饭的时候都在想,想着要让一个不执行对方滑动的方法,回来后试了下是可以的,在执行导航栏滚动的方法加了一个参数做为标记值,若flag=No则执行代理否则不执行这样就能解决了

问题2.在点击导航栏中的按钮时从左向右滑动时,在滑动开始的按钮上有来回晃动一下的效果,动画感觉不太爽,这个问题找了好久,没想到石头设置了下Bottom中的setShowPageWithIndex方法的

参数animated为NO就可以了,这也能体现出找bug的能力自己还是有待提高。动画问题首先应该找动画的地方,而我把这个就忽略了,这个值得思考。

问题3.用滚动条放导航按钮,按钮多时,可能有的会隐藏,怎么让它点屏幕边上的按钮时自动的滑出几个按钮,这样就放方便不用用户用手滑了。

这个我也是看亮哥的demo,首先要知道ScrollView它的contentOffset.x是为0, 这样找到点击按钮的frame,根据点中按钮的frame的x坐标和ScrollView的contentOffset.x做比较, 当大于一定值(屏幕右侧的量)时,根据点击按钮的索引和按钮数组,让ScrollView滚动到点击按钮右边的按钮的位置,这样就能向右自动滑动,同理向左滑动时,滚动到点击按钮左边的按钮的位置。具体看github上YZPTopScrollView中的-(void)selectIndex:(int)index withFlag:(BOOL)flag。

效果图:

【云栖快讯】阿里云栖开发者沙龙(Java技术专场)火热来袭!快来报名参与吧!  详情请点击

网友评论

社会主义
文章243篇 | 关注17
关注
业内领先的面向企业的一站式研发提效平台(研发效能),通过项目流程管理和专项自动化提效工具,能... 查看详情
移动测试(Mobile Testing)是为广大企业客户和移动开发者提供真机测试服务的云平台... 查看详情
阿里云移动APP解决方案,助力开发者轻松应对移动app中随时可能出现的用户数量的爆发式增长、... 查看详情
为您提供简单高效、处理能力可弹性伸缩的计算服务,帮助您快速构建更稳定、安全的应用,提升运维效... 查看详情
双12

双12