prettyprint

2015年10月14日 星期三

Navigator Controller Demo


新增專案:

新增 1 個 Navigator Controller 及 1 個 View Controller:
接下來將 Veiw 連結起來。此時,在第一個 View 新增 Button。之後,選此 Button, 按下 Control 鍵不放,將其拖曳到第二個 View,此時設定 Seque Action 選 Modal:
接著,在第三個 View 新增 Bar Button Item,之後,選此 Bar Button Item, 按下 Control 鍵不放,將其拖曳到第二個 View,此時設定 Seque Action 選 Push:
檢查 Bar Button Item 的放置位置:
測試: 1. 按下 Push 按鈕:
2. 按下 Item 按鈕:
3. 按下 Back 按鈕:
在 iPhone 6 會顯示 Root View Controller 按鈕 後記: Bar Button Item 拖曳擺放的位置要正確,若畫面上無法選取此 UI 元件,則在 UI Navigator 上點選此 UI 元件,然後點選 Triggered Seque,將此 UI 元件連結至第四個 View 即可,如下:
看起來一個很簡單的測試,卻帶出一個重要的概念。注意到沒?在 Storyboard 我們看到 4 個 View,但在測試時只看到 3 個 View。嚴格說,事實上第二個 UI 元件 Navigator Controller 不是 View,而是一個 View Container。所謂 View Container 就是它可以含有一個以上的 View。在這 Demo 只有含一個 View,即第三個 View。所以這個 Demo 無法真正看出 Navigator Controller 當初被設計出來的用意,即無法看到 View Container 與 View 之間的 Layer 關係。Apple 的 UI 元件一般在 View Controller 前有特定指名,都算是 View Container。例如:Table View Controller, Collection View Controller,Tab Bar Controller 等。

沒有留言:

張貼留言

prettyPrint();