第 21 章
使用 UIPageViewController 與容器視圖建立導覽畫面

If you're interested in the living heart of what you do, focus on building things rather than talking about them.

- Ryan Freitas, About.me

最初啟動一個 App 時,你可能會發現有一系列導覽(或教學)畫面,它常見於行動 App 的運用,帶領使用者透過多個畫面,逐步示範所有的特色功能。有些人說如果你的 App 需要導覽畫面的話,可能會是個失敗的作品。我個人並不討厭導覽畫面,因為我發現大部分是有用的,只要讓它儘量保持簡短,不要讓它包含太多冗長且無聊的教學。這裡我不準備爭論是否應該在 App 加上導覽畫面的話題,我只想教導你該如何做出這個功能。

在本章中,我將教導你如何使用 UIPageViewController 來建立導覽畫面,你也會學到如何使用一種特殊型態的視圖,稱作「容器視圖」(Container View )。

圖 21.1. Sorted 的導覽畫面範例
圖 21.1. Sorted 的導覽畫面範例

要實作導覽畫面的其中一種方式是使用 UIPageViewController 類別,它讓開發者建立內容頁面,每一頁是由自己的視圖控制器來管理。這個類別內建支援捲動式轉場,有了 UIPageViewController,使用者可以輕易地經由簡單的手勢來導覽多個頁面。頁面視圖控制器(Page View Controller )不限於只建立導覽畫面,你可以在遊戲如Angry Bird 顯示有多少的關卡,或是電子書 App(顯示目錄頁)等發現頁面視圖的實作。

UIPageViewController 是一個可以被高度支配的類別,你可以做如下的定義:

  • 頁面視圖的方向 – 垂直與水平方向。
  • 轉場樣式 – 捲頁式轉場樣式或者捲動式轉場樣式。
  • 書背位置 – 只適用捲頁式轉場樣式。
  • the space between pages – 只適用捲動式轉場樣式,用來定義內頁空間。

我們將在 FoodPin App 中加入一個簡單的導覽畫面,透過這個新功能的實作,你將學到 UIPageViewController 是如何運作的。也就是說,我們不示範 UIPageViewController 的每一個功能, 我們只使用捲動式轉場樣式來呈現一系列的導覽畫面。對於 UIPageViewController 有了基本概念之後,我相信你便能夠探索頁面視圖控制器的其他功能。

我們開始吧 !


本文摘自《iOS 17 App程式設計實戰心法》(Swift+UIKit)》一書。如果你想更深入學習Swift程式設計和下載完整程式碼,你可以從 AppCoda網站 購買完整電子版。

results matching ""

    No results matching ""