iT邦幫忙

2023 iThome 鐵人賽

DAY 5
0
Mobile Development

ios前端開發學習系列 第 5

【Day05】如何使用Xcode開發 (三)

  • 分享至 

  • xImage
  •  

接著我們來跟大家介紹如何使用xib來取代StoreBoard設計介面

為什麼選擇 xib 取代 StoreBoard?

  • 簡單明瞭 :
    • xib專注於單一界面的設計,適合小型或者高度定制的界面。
    • 每個xib文件對應一個界面,易於管理和協作開發。
    • 對於新手來說,xib的學習曲線相對平緩。
  • 不會有太大的效能負擔:
    • Storyboard在大型項目中可能會變得龐大且難以管理,而xib則較輕便。
    • 使用xib可以減少項目的啟動時間和減小應用的大小。
  • 更靈活的版本控制:
    • 使用xib,每個界面是一個單獨的文件,更容易進行版本控制和團隊協作。
    • 如果多人在同一個Storyboard上工作,可能會遇到合併衝突的問題。

雖然,傳統上Storyboard還是大家的首選但我認為xib很適合設備不用太好裝置來做開發和適合學生理解和程式碼之間的邏輯交互,當然大家還是要依照團隊的需求來選擇要使用 xib 還是 StoreBoard 開發項目。

https://ithelp.ithome.com.tw/upload/images/20230824/20161850fiPsk4rg9g.png

1.首先把(Navigator Area)的ViewControllerMain.storyboard 刪除

因為 ViewController 是依賴於 Main.storyboard 的,所以這兩個要一起刪掉

https://ithelp.ithome.com.tw/upload/images/20230824/20161850Ujl7RL7gWO.png

2. 將 Info 裡關聯於 Storyboard Name 刪掉

Application Session Role 用於在 APP 中聲明場景的數組
因為這邊已經不需要 Mian.storyboard 也不需要在 APP 中聲明他

https://ithelp.ithome.com.tw/upload/images/20230824/20161850Z4AiITwmvZ.png

3. 將 Info 裡 Build Setting 的 UIKit Main Storyboard File Base Name: Main 刪掉

https://ithelp.ithome.com.tw/upload/images/20230824/20161850ivVeAngEMO.png

4.新建 ViewController 並綁定一個 Xib

  • 在(Navigator Area)按下Command + N 選擇 cocoa Touch Class 繼續
  • 接著 Class 的 ViewController 前加上你想創建什麼功能的頁面給一個不錯的名字
  • 確定 Subclass of 有選到 UIViewController
  • 不要忘記勾選創建 xib 檔喔!

https://ithelp.ithome.com.tw/upload/images/20230824/201618505Dk9dk419L.png

5. 最後一步就是要去 SceneDelegate 裡修改程式碼

func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
        guard let windowScene = (scene as? UIWindowScene) else { return }
        let rootVC = MainViewController(nibName: "MainViewController", bundle: nil)
        let navigationController = UINavigationController(rootViewController: rootVC)
        window = UIWindow(frame: windowScene.coordinateSpace.bounds)
        window?.windowScene = windowScene
        window?.rootViewController = navigationController
        window?.makeKeyAndVisible()
    }

直接取代掉就可以嘍
不要忘記把中間的MainViewController給換成剛剛第四步給 Class 取的名稱喔!


上一篇
【Day04】如何使用Xcode開發 (二)
下一篇
【Day06】內部文件架構介紹
系列文
ios前端開發學習30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言