使用 Interface Builder 探索 ModalPresentationStyle
這將是一個非常基本的應用程式,它將說明 iOS 中的不同 ModalpresentationStyle
。根據此處的文件,UIModalPresentationStyle
有 9 個不同的值,如下所示,
fullScreen
pageSheet
formSheet
currentContext
custom
overFullScreen
overCurrentContext
popover
none
要設定專案,只需建立一個普通的 iOS 專案並新增 2 ViewControllers
。把 UIButton
放在你最初的 ViewController
中,並通過 Target -> Action
機制連線到第 2 ViewController
。為了區分 ViewControllers
,在 ViewController
中設定 UIView
的背景屬性為其他顏色。如果一切順利,你的 Interface Builder 應該看起來像這樣,
確保你構建此專案並在 iPad 上執行 (有關 iPad 原因的詳細資訊,請參閱備註部分)。完成專案設定後,選擇 segue 並轉到 attributes inspector
。你應該能看到這樣的東西,
將 kind 屬性設定為 Present Modally
。
現在,我們不會在這個例子中看到所有的效果,因為它們中的一些需要一些程式碼。
讓我們從 fullscreen
開始吧。在 Kind
選項卡中選擇 Present Modally
時,預設選擇此效果。當你構建並執行時,第二個 ViewController
會佔據你 iPad 的全屏。
接下來是 pageSheet
。你可以從 Presentation
選項卡中選擇此選項。在此選項中,當裝置處於縱向模式時,第二個 ViewController
類似於全屏,但在橫向模式下,第二個 ViewController
的裝置寬度要窄得多。此外,第二 ViewController
未涵蓋的任何內容都將變暗。
對於 formSheet
型,第二個 ViewController
放置在裝置的中心,尺寸小於裝置的尺寸。此外,當裝置處於橫向模式且鍵盤處於可見位置時,向上調整檢視以顯示 ViewController
。
我們要嘗試的最後一種風格是 popover
。要選擇此樣式,請在 Kind
選項卡中選擇 Present as Popover
。第二個 ViewController
呈現為一個小的 popover(大小可以設定)。背景內容變暗。彈出視窗外的任何水龍頭都會解開彈出視窗。你的 Attributes Inspector
應該是這樣的,
Anchor
是你希望彈出箭頭指向的 UI 元素。Directions
是你允許 popover Anchor
指向的方向。
還有更多這些基本的模態表示樣式,但它們實現起來並不複雜,需要一些程式碼。可以在 Apple 文件中找到更多詳細資訊。