基於分頁導航實現
在iOS 5之後,可以使用分頁控制器(UIPageViewController)構建類似於電子書效果的應用,我們稱為基於分頁的應用。一個分頁應用有很多相關的視圖控制器
分頁控制器(PageViewController)需要放置在一個父視圖控制器中,在分頁控制器下面還要有子視圖控制器,每個子視圖控制器對應圖中的一個頁面。
在基於分頁導航實現的應用中需要的類和協議:UIPageViewControllerDataSource協議和 UIPageViewControllerDelegate協議和UIPageViewController 類,UIPageViewController沒有對應的視圖類。
UIPageViewControllerDelegate委託協議中,最重要的方法為 pageViewController:spineLocationForInterfaceOrientation:,它根據旋轉螢幕方向設定書脊位置 (Spine Location)和初始化首頁。
UIPageViewController中有兩個常用的屬性:雙面顯示(doubleSided)和書脊位置(spineLocation)。
1.雙面顯示,是在頁面翻起的時候,偶數頁面會在背面顯示。圖為doubleSided設定為YES情況,圖6-14中圖為 doubleSided設定為NO(單面顯示),單面顯示在頁面翻起的時候,能夠看到頁面的背面,背面的內容是當前頁面透過去的,與當前內容是相反的鏡 像。
2.書脊位置。書脊位置也是很重要的屬性,但是它的spineLocation 屬性是唯讀,要設定它,需要通過 UIPageViewControllerDelegate委託協議中的 pageViewController:spineLocationForInterfaceOrientation:方法。書脊位置由枚舉 UIPageViewControllerSpineLocation定義,該枚舉類型下的成員變數如下所示。