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

来源:互联网 发布:青瓦台风水 知乎 编辑:程序博客网 时间:2024/05/21 01:43

Demo效果展示:


效果展示

详解:

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

    项目初始化

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

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

    自定义与初始化

    1.2添加到显示界面

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

      声明方法,目的如图所示

      2.2.1更正

      更正

      2.2.2增加频道-方法的实现

      增加频道-方法的实现

      2.2.3点击频道-方法的实现

      声明、关联

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

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

      2.2.3将主界面的控制器中标题数组传入自定义View中,设置频道标题,并运行检测效果

      传入数组

      当前效果展示:

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

    设置代理

    1.2遵守协议

    遵守协议

    1.3判断响应

    判断响应

    当点击频道时,要考虑到,主界面偏移量将发生变化
    2.1声明一个主界面,并实现代理方法

    宏设置,代理的遵守


    声明一个主界面

    3.1代理方法的实现
    点击频道时,主界面的偏移量会发生变化

    主界面的偏移量会发生变化


    主界面的设置
    三、界面滑动联动标题跳转界面
    1.遵守协议,设置代理

    遵守协议


    设置代理

    2.代理实现

    关联


    根据偏移量跳转标题


    代理实现


    更正
    三、添加跳转随机颜色以及界面

    项目-随机颜色

    最终展示效果:

    最终展示效果

知识点小结:

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