网易导航条心得(iOS版)

网易导航条心得(iOS版)

一、界面分析

首先,我们必须弄清楚它的图层组成。所有的界面都是承载在一个ViewController上的,这一点事肯定的,我们把这个ViewController叫做MainVC;其次MainVC上最好放一个封装好的容器,一下的就把剩下的图层全部包括进去。

其次,就是这个容器的设计。在这个容器上有两个scrollView,topScroll上放置的是几个按钮,bottomScroll上放置的是几个ViewController,两个scrollView需要实现联动;

最后,两个scrollView之间还有个小滑条,跟着动,可以提高用户体验。

二、具体实现

1,容器的实现

首先实现小滑条,这其实就是一个带颜色的view条,设置好frame后在scrollView的代理方法中控制着位置的偏移,没什么亮点可讲。

其次是topScroll的设计,在有导航条的情况下,scrollView会自动下压64像素,所以一般情况需要设置self.automaticallyAdjustsScrollViewInsets=NO;但是在本项目中,使用此方法并不能有效解决该问题。不清楚为什么,这还需要查资料好好研究研究。另外一种方法是,设置topScroll上面的控件的时候将其坐标设置得上移64像素。

再次是topScroll上按钮点击事件的实现。oldBtn.selected设置为NO,当前btn.selected设置为YES。接下来第一次设置联动,根据btn的tag值决定bottomScroll的contentOffset,一个btn对应一个bottomScroll上的一个VeiwController,然后创建一个动画,使bin放大1.3倍,达到字体放大的效果。接下来是第二次设置联动,根据slider小滑块的MaxX,来设置topBar的contentOffset(在iOS的界面布局中我们可以使用CGRectGetMaxX 这个方法来方便的获取当前控件的x坐标值+宽度的数值)。第三次联动的设计,在scrollView的代理方法中设置slider的frame,以达到移动的效果。

btn.tag==>>VC==>>Slider==>>topBar

基本思路就是这样,具体尺寸坐标,不难解决。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • *7月8日上午 N:Block :跟一个函数块差不多,会对里面所有的内容的引用计数+1,想要解决就用__block...
    炙冰阅读 7,374评论 1 14
  • 1.badgeVaule气泡提示 2.git终端命令方法> pwd查看全部 >cd>ls >之后桌面找到文件夹内容...
    i得深刻方得S阅读 10,266评论 1 9
  • 1.感恩平安幸福的一天,今天过得很充实,早晨情绪不适合写日记,现在开始写,这会心里又充满感恩了。感恩平安幸福的一天...
    满月Love阅读 3,395评论 0 2
  • 看到一篇文章,叫做“没钱你谈什么异地恋”。讲的是两个人谈异地恋,因为相隔太远又没什么钱,经常是买车票紧巴巴的赶去见...
    月朦胧0鸟朦胧阅读 1,450评论 1 1
  • 好吧,都说长得漂亮的才是学姐,那像我这样相貌凡凡的姑且就叫大二的吧。 关于学习 学生的主要责任和义务就是念书。...
    我和我的破木吉他阅读 2,849评论 11 9

友情链接更多精彩内容