网易新闻

7.网易新闻

   1.项目思路:1.搭建界面,处理界面细节,处理业务逻辑

     0.   注意点

           1.创建6个控制器设置标题,创建标题scrollerView通过btn的标题属性拿到控制所设置的标题来添加子控件
           2.创建内容ScrollerView要考虑导航控制器是否存在的情况,
           3.通过点击标题的btn来监听点击事件,来添加控制器所对应的View到ScrollerView中
           4.在添加所有btn按钮中添加标题滚动区域与内容滚动区域

界面搭建

          1.1设置标题滚动区域:注意点:要判断导航控制器是否隐藏来设置scrollorV标题的y值,通过按钮的title属性.
          1.2设置内容区域:注意点:设置y值时为CGRMY值中的标题的最大y值
          1.3设置控制器的题目并添加到控制器中
    2.  设置标题

           2.0容易遗忘:拿到控制器,就可以拿到控制器的view,根据拿到的顺序就可以按顺序添加view,一个功能一个方法
           2.1设置按钮的:题目通过创建控制器vc=childr[i],在vc.title拿到,设置字体颜色,设置尺寸设置滚动区域contentSize
           2.2设置按钮的状态:点击时实现titleClick:方法,通过属性在抽取选中方法select方法选中为红色,并且添加子控制器的view上去
           2.3注意点:设置内容滚动区域时要根据偏移量来设置.
    3.  设置内容滚动区域

           3.1创建可变数组通过懒加载记录所有的可选中的按钮,
           3.2通过UIScrool代理设置滚动停止时所添加的view,通过数组属性获取所对应的下标在子添加子控件中记录数组,通过titleClick方法或者选中方法获得所选中的按钮,选中方法的话就要再添加view.     
      4.  设置标题选中按钮居中

           4.1可以通过设置标题整个ScrollView的setcontenoff属性来改变偏移量
           4.2重写偏移量:通过按钮中心点的位置减去屏幕一半的宽度去设置偏移量
           4.3设置最小偏移量大于零,小于最大偏移量 .注意点:self.titleScrollView.bounds.size.width与self.titleScrollView.contenSize.width是两回事.
      5.  设置选中按钮字体变大,以前的角标还原

           5.1根据偏移量来监听左右按钮的角标,并随着偏移量变大,或恢复
           5.2角标不能超过总按钮个数,那到右边的角标
           5.3根据左右按钮的transform,来改变放大缩小
           5.4把以前的按钮恢复原来的大小
     6.   设置字体颜色(越靠近右边越红)

           6.1根据左边leftScale从1~0,右边从0~1,[UIColor colorWithred:()g:()b:()]来设置颜色的渐变
 7.   封装

           7.1封装的好处:提高复用性
           7.2封装的注意点:1.要让人用的舒服2.扩展性强
           7.3加载所有子标题延迟到viewWillAppear中调用,因为要等封装的子控制器调用完viewDidLoad时在加载子标题
8.底层原理

            8.1bounds,frame深入研究,一般没有修改bounds时默认(x,y)都为0
            8.1.1frame:可视范围,bounds:描述 可视范围在内容范围 区域,改变bounds的y值就是修改内容范围与可视范围的距离.原理如:8.1.2
            8.1.2,因为可视范围是不会移动的添加bounds的y值,bounds的y值改变,所以内容范围距离bounds的距离改变:bounds相当与内容范围的坐标系(内容范围是不可见的,一般添加子控制器是添加到内容范围上,所以通过子控制器去检验内容范围)
            8.2 bounds的本质:修改原点位置(内容范围距离控制器)
            8.3UIscrollerView的地底层实现原理:就是添加UIView,在通过手势监听来改变UIView的bounds来使scrollerView滚动
           
           
 

 

 

posted @ 2016-01-15 22:00  谢云  阅读(192)  评论(0编辑  收藏  举报