iOS-分段跳转-自定义分段View

Demo效果展示:


iOS-分段跳转-自定义分段View_第1张图片
效果展示

详解:

一、环境的配置,搭建项目
  • 解析:对于这个项目,首先我们要创建一个显示主界面的控制器,对其嵌入一个导航Nav,在将Nav作为窗口的根视图控制器。
    1.初始化


    iOS-分段跳转-自定义分段View_第2张图片
    项目初始化

    2.设置背景颜色以及自适应


    iOS-分段跳转-自定义分段View_第3张图片
    设置背景颜色以及自适应
二、设置分段界面
  • 解析:其实就是自定义一个分段显示的View。在自定义这个分段view是我们首先,要考虑我们这个分段View要声明所需的属性(上面button文字标题是什莫,颜色是什莫,字号多大),并创建一个数组进行上面button的容量器。然后,初始化进行。
    1.1自定义与初始化


    iOS-分段跳转-自定义分段View_第4张图片
    自定义与初始化

    1.2添加到显示界面


    iOS-分段跳转-自定义分段View_第5张图片
    添加到显示界面
  • 解析:
    • 创建一个方法,目的是,控制器传入一个数组,并根据数组中的个数向自定义View上添加频道的数目,又知道频道的数量,有根据频道的标题数量而定,所以控制器传入的数组是包含控制器标题的数组。
    • 方法内:循环遍历,添加频道->设置下划线->创建一个数组盛放所有频道->默认选中第一个频道
      2.1声明方法


      iOS-分段跳转-自定义分段View_第6张图片
      声明方法,目的如图所示

      2.2.1更正


      iOS-分段跳转-自定义分段View_第7张图片
      更正

      2.2.2增加频道-方法的实现
      iOS-分段跳转-自定义分段View_第8张图片
      增加频道-方法的实现

      2.2.3点击频道-方法的实现
      iOS-分段跳转-自定义分段View_第9张图片
      声明、关联

      选中状态,以及点击频道下划线的走向


      iOS-分段跳转-自定义分段View_第10张图片
      选中状态,以及点击频道下划线的走向

      2.2.3将主界面的控制器中标题数组传入自定义View中,设置频道标题,并运行检测效果
      iOS-分段跳转-自定义分段View_第11张图片
      传入数组

      当前效果展示:
      iOS-分段跳转-自定义分段View_第12张图片
      当前效果展示
二、实现界面跳转
  • 解析:点击频道,外界,要想跳转界面,就得把自定义View中点击按钮的tag传出去。运用代理方法,进行传值。
    1.1设置代理


    iOS-分段跳转-自定义分段View_第13张图片
    设置代理

    1.2遵守协议


    iOS-分段跳转-自定义分段View_第14张图片
    遵守协议

    1.3判断响应
    iOS-分段跳转-自定义分段View_第15张图片
    判断响应

    当点击频道时,要考虑到,主界面偏移量将发生变化

    2.1声明一个主界面,并实现代理方法


    iOS-分段跳转-自定义分段View_第16张图片
    宏设置,代理的遵守

    iOS-分段跳转-自定义分段View_第17张图片
    声明一个主界面

    3.1代理方法的实现
    点击频道时,主界面的偏移量会发生变化
    iOS-分段跳转-自定义分段View_第18张图片
    主界面的偏移量会发生变化

    iOS-分段跳转-自定义分段View_第19张图片
    主界面的设置
三、界面滑动联动标题跳转界面

1.遵守协议,设置代理


iOS-分段跳转-自定义分段View_第20张图片
遵守协议

iOS-分段跳转-自定义分段View_第21张图片
设置代理

2.代理实现


iOS-分段跳转-自定义分段View_第22张图片
关联

iOS-分段跳转-自定义分段View_第23张图片
根据偏移量跳转标题

iOS-分段跳转-自定义分段View_第24张图片
代理实现

iOS-分段跳转-自定义分段View_第25张图片
更正
三、添加跳转随机颜色以及界面
iOS-分段跳转-自定义分段View_第26张图片
项目-随机颜色

最终展示效果:


iOS-分段跳转-自定义分段View_第27张图片
最终展示效果

知识点小结:

  • 1.automaticallyAdjustsScrollViewInsets根据按所在界面的status bar,navigationbar,与tabbar的高度,自动调整scrollview的 inset,设置为no,
  • 2.scrollViewDidEndDecelerating表示减速结束了。然而减速结束和滑动结束并不等价。因为有些滑动并不需要减速也可以结束。比如我两只手轮流向左滑动,直到滑动到scrollview的右侧尽头为止,这个过程的滑动是被迫终止而不是自然减速停止,所以scrollViewDidEndDecelerating方法是不会被执行的

上边有的会出现错误,下面也有更正,请谅解。

你可能感兴趣的:(iOS-分段跳转-自定义分段View)