iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 8
0
Software Development

Swift零基礎實作旅遊景點app系列 第 8

Swift從零開始-Day8:多頁面Tab bar基礎學習

分類:UIKit學習

1. Main.Storyboard裡面各個畫面都有其對應的ViewController,而storyboard每個畫面就等於是把對應的ViewController類別進行實體化。

上圖說明:目前在main.storyboard只有單一的畫面,可以發現此畫面是與ViewController這個class進行連結(右上方紅色框框)將其實體化成我們看到的畫面,有進行連結才代表我們可以在此畫面利用程式碼進行操作

2. Tabbar畫面製作法

2-1. 方法1:

  • 開新專案時直接選擇Tabbed app,會看到如下的畫面。

  • 若想再新增新的ViewController,則拉進一個新的ViewController後,將Tab Bar Controller與之作連結。這時候會看到Tab Bar Controller下面會變三個。

  • 若要控制第三個ViewController,就新增一個ViewController的Class。再與ViewController做連結(與TableViewCell的做法類似)。

2-2. 方法2:從Single View app來建立

  • 如圖:

3. Tabbar傳值方法:

3-1. 從後面的畫面傳值回前面的畫面

  • 概念上是先藉由回到包著全部的Tab Bar Controller,再去找到第一個畫面的ViewController,將第二個畫面的資料存給第一個畫面。
    練習在第二個畫面的文字輸入框輸入1~10的數字,來藉此改變第一個畫面的背景照。

Code:GitHub - ethan510010/ColorResponder

從前面的畫面傳值給後面的畫面

作法與前者類似但會有所不同,原因是如果沒有點後頁面的Tab Bar,第二個畫面還沒生成,直接比照前者的做法程式會出錯;實現方法是在控制後頁面的程式碼中存入一個變數(假定變數名稱為dataFromViewOne),此變數用來接收從第一個畫面過來的資料,其餘都與前者的方法類似。並將資料存進dataFromViewOne,之後在第二個畫面中的去使用dataFromViewOne。
練習在第一個畫面的文字輸入框輸入字,來藉此改變第二個畫面的label文
字。

Code:GitHub - ethan510010/TabBarFromOnetoTwo


上一篇
Swift從零開始-Day7:UIScrollView基礎學習(含UIPageControl基礎學習)
下一篇
Swift從零開始-Day9:NavigationController基礎學習
系列文
Swift零基礎實作旅遊景點app30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言