iOS-分段跳轉(zhuǎn)-自定義分段View

Demo效果展示:


效果展示

詳解:

一、環(huán)境的配置,搭建項目
  • 解析:對于這個項目,首先我們要創(chuàng)建一個顯示主界面的控制器,對其嵌入一個導(dǎo)航Nav,在將Nav作為窗口的根視圖控制器。
    1.初始化


    項目初始化

    2.設(shè)置背景顏色以及自適應(yīng)


    設(shè)置背景顏色以及自適應(yīng)
二、設(shè)置分段界面
  • 解析:其實就是自定義一個分段顯示的View。在自定義這個分段view是我們首先,要考慮我們這個分段View要聲明所需的屬性(上面button文字標(biāo)題是什莫,顏色是什莫,字號多大),并創(chuàng)建一個數(shù)組進行上面button的容量器。然后,初始化進行。
    1.1自定義與初始化


    自定義與初始化

    1.2添加到顯示界面


    添加到顯示界面
  • 解析:
    • 創(chuàng)建一個方法,目的是,控制器傳入一個數(shù)組,并根據(jù)數(shù)組中的個數(shù)向自定義View上添加頻道的數(shù)目,又知道頻道的數(shù)量,有根據(jù)頻道的標(biāo)題數(shù)量而定,所以控制器傳入的數(shù)組是包含控制器標(biāo)題的數(shù)組。
    • 方法內(nèi):循環(huán)遍歷,添加頻道->設(shè)置下劃線->創(chuàng)建一個數(shù)組盛放所有頻道->默認(rèn)選中第一個頻道
      2.1聲明方法


      聲明方法,目的如圖所示

      2.2.1更正


      更正

      2.2.2增加頻道-方法的實現(xiàn)
      增加頻道-方法的實現(xiàn)

      2.2.3點擊頻道-方法的實現(xiàn)
      聲明、關(guān)聯(lián)

      選中狀態(tài),以及點擊頻道下劃線的走向


      選中狀態(tài),以及點擊頻道下劃線的走向

      2.2.3將主界面的控制器中標(biāo)題數(shù)組傳入自定義View中,設(shè)置頻道標(biāo)題,并運行檢測效果
      傳入數(shù)組

      當(dāng)前效果展示:
      當(dāng)前效果展示
二、實現(xiàn)界面跳轉(zhuǎn)
  • 解析:點擊頻道,外界,要想跳轉(zhuǎn)界面,就得把自定義View中點擊按鈕的tag傳出去。運用代理方法,進行傳值。
    1.1設(shè)置代理


    設(shè)置代理

    1.2遵守協(xié)議


    遵守協(xié)議

    1.3判斷響應(yīng)
    判斷響應(yīng)

    當(dāng)點擊頻道時,要考慮到,主界面偏移量將發(fā)生變化

    2.1聲明一個主界面,并實現(xiàn)代理方法


    宏設(shè)置,代理的遵守

    聲明一個主界面

    3.1代理方法的實現(xiàn)
    點擊頻道時,主界面的偏移量會發(fā)生變化
    主界面的偏移量會發(fā)生變化

    主界面的設(shè)置
三、界面滑動聯(lián)動標(biāo)題跳轉(zhuǎn)界面

1.遵守協(xié)議,設(shè)置代理


遵守協(xié)議

設(shè)置代理

2.代理實現(xiàn)


關(guān)聯(lián)

根據(jù)偏移量跳轉(zhuǎn)標(biāo)題

代理實現(xiàn)

更正
三、添加跳轉(zhuǎn)隨機顏色以及界面
項目-隨機顏色

最終展示效果:


最終展示效果

知識點小結(jié):

  • 1.automaticallyAdjustsScrollViewInsets根據(jù)按所在界面的status bar,navigationbar,與tabbar的高度,自動調(diào)整scrollview的 inset,設(shè)置為no,
  • 2.scrollViewDidEndDecelerating表示減速結(jié)束了。然而減速結(jié)束和滑動結(jié)束并不等價。因為有些滑動并不需要減速也可以結(jié)束。比如我兩只手輪流向左滑動,直到滑動到scrollview的右側(cè)盡頭為止,這個過程的滑動是被迫終止而不是自然減速停止,所以scrollViewDidEndDecelerating方法是不會被執(zhí)行的

上邊有的會出現(xiàn)錯誤,下面也有更正,請諒解。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容