2013年2月21日 星期四

局部畫面是要用 View 來呈現,還是要用 View Controller + View ?

我們先來看一下這個例子,預設的Yahoo 的股票軟體如下

這次討論的主角是在下半部,也就是大家看到的折線圖這個區塊。如下,這篇文章討論的是局部的畫面切換。

這個區塊如果要 Michael 來寫的話,是用 View 去呈現還是要再多寫一個 View Controller 呢?在下決定之前不能只看這個區塊,要再觀察之後的畫面,和使用者互動的過程,怎麼說呢?在這個 App,下方這個區塊,不是只可以呈現折線圖,還可以左右滑動來看其他的資訊,如下。

或者是如下

簡單畫一個Flow char 就是如下


好我們知道整個操作的流程之後,我們來分析一下。比較複雜和比較單純的畫面
就我理解,比較複雜的是如下
理由是,左邊要畫線圖還要和使用者互動,右邊要呈現滿多筆資料也要和使用者互動,這兩個畫面是用不同的邏輯思考去操作的。我們暫且稱,左邊的是 Chart View。右邊的是 List View。
比簡單的就是
這個畫面不用和使用者互動(暫不理會,底下的 Yahoo! 和 Information 按鈕,這兩個按鈕是把整個 Yahoo 股票首頁都換掉)。暫說這個為 Info View
看完整個流程,還是沒說要用 View 還是 View + View Controller 呢?
Michael 的看法是這樣

  • 如果只有一個畫面,也不切換,或是切換的畫面和 Info View 這樣比較簡單沒有互動的話,就用 View 就可以了
  • 如果切換過去的畫面,比較複雜如 List View 和 Chart View,這樣就建議用 View Controller + View。

再來就是說說,在 Storyboard 裡面,可以呈現切換局部的,View Controller 的新元件。叫 Container View 。如下
把這個元件的拉到某一個 View 上面會看到如下的畫面。
自動地產生一個 View Controller 在右邊,代表著這個 View Controller 的 View 就是會被畫在左邊 Container 的區塊。

沒有留言:

張貼留言