在學習開源中國ios 源碼時,發現其實現view controllers 的paging的方法如下: 第一、定義一個容器類的view controller,類似於UIPageViewController. 該vc的主要由兩部分組成: a 一個title view,用來表明當前內容是什麼,並且能夠相應 ...
在學習開源中國ios 源碼時,發現其實現view controllers 的paging的方法如下:
第一、定義一個容器類的view controller,類似於UIPageViewController. 該vc的主要由兩部分組成:
a 一個title view,用來表明當前內容是什麼,並且能夠相應用戶的點擊,切換content
b 一個table view controller (通過addChildViewController添加,並將table view controller 的view 添加到容器的view中),用來顯示內容, 即響應用戶的手勢實現paging.
第二是設置tableview的transform,將tableview旋轉90度,設置pagingEnable為yes(UIScrollView的屬性),併在table view delegate方法將cell的height設置為屏幕的寬度,這樣就能夠將table view變成一個能夠paging的view了。
那麼如何將view controllers的內容 添加到table view中去呢?首先將所有view controller添加到table view controller中去,然後將view controller的view 添加到table view cell 的content view中,這樣table view cell中的內容就是view controllers 的內容了。
這種實現主要涉及三個角色:
1. 容器類的view controller, 主要用來協調title view 和table view controller
2. table view controller, 用來實現內容水平方向的paging
3. view controllers,用來提供內容
因為UIKit本身就提供了paging view controller,不知道為什麼不直接用?
經過測試,可以使用paging view controller實現以上基本功能
代碼:https://github.com/beddup/BeddupPageViewControllerDemo