分頁控制器的實現(xiàn)

這一篇文章講解如何實現(xiàn)一個分頁控制器,效果圖如下:

BBPageScrollView.gif

這是我參考別人的思路(忘記是哪個了)實現(xiàn)的一個框架,使用起來非常簡單。

使用:


_pageView = [[BBScrollPageView alloc] initWithFrame:pageViewRect segmentStyle:scrollTitleViewStyle titles:_dataArr childVcs:_childVcs parentViewController:self delegate:self];

[_pageView generate];

或者

_pageView = [[BBScrollPageView alloc] initWithFrame:pageViewRect style:scrollTitleViewStyle];
[_pageView setTiltes:_dataArr childVcs:_childVcs parentViewController:self delegate:self];
[_pageView generate];

Paste_Image.png

即創(chuàng)建傳入標題數(shù)組和控制器數(shù)組即可,無需考慮均分問題。

實現(xiàn)思路


BBPageScrollView分為三個部分,一是上面的頭部,二是下面頁面內容部分,三是總體視圖(包含上面頭部和下面頁面內容)

Paste_Image.png

上面頭部我這里使用的是視圖上加了一個可以滾動的scrollView,上面的文字則是自定義的label,它的文字大小跟偏移量有關,label自身點擊事件以代理的方式通知pageScrollView,在pageSrollView里內容頁面的切換;

頁面內容我用的也是一個可以滾動的scrollView,其contentSize的寬度為子控制器的個數(shù) * 自身寬度,當滾動時,其偏移量發(fā)生變化,將每個子控制器的視圖加到scrollView上,視圖x值則是視圖所在數(shù)組的索引 * scrollView.frame.size.width。scrollView的滑動以代理的方式通知pageScrollView,在pageSrollView里更新上面頭部的切換

總體視圖pageScrollView負責上面二者的交互。

框架結構如下:

Paste_Image.png

demo地址:https://github.com/BohrForIOS/BBScrollPageView

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

推薦閱讀更多精彩內容

  • *7月8日上午 N:Block :跟一個函數(shù)塊差不多,會對里面所有的內容的引用計數(shù)+1,想要解決就用__block...
    炙冰閱讀 2,542評論 1 14
  • 發(fā)現(xiàn) 關注 消息 iOS 第三方庫、插件、知名博客總結 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 12,229評論 4 61
  • 和諧相處不容易。 兒子畢業(yè)回家,歡迎的背后是說不出的滋味。兩代人的思想越來越難以統(tǒng)一,生活習慣太不相同,真不像一家...
    周湘泉閱讀 208評論 4 4
  • 馬蘭: 見字如面。 丫頭,這是我寫給你的第一封信。 值得一提的是,我今年27歲,而我準備寫這封信卻已經(jīng)有無數(shù)個日夜...
    孤鄰閱讀 579評論 0 0
  • 最近組內先后招了兩名開發(fā),作為他們的mentor,一方面我在觀察他們的工作方式和編碼習慣,另一方面也在對比思考自己...
    海之方閱讀 1,442評論 14 29