Phương pháp phân chia để quản lý Storyboard
Khi App chúng ta lập trình phức tạp lên → số lượng view tăng lên, nếu chỉ đặt trong một Storyboard thì các view sẽ rất là khó nhìn. Chính vì vậy mà bài viết này mình xin giới thiệu đến các bạn giải pháp sử dụng Storyboard Reference để phân chia ra nhiều Storyboard cho việc quản lý trở nên dễ ...
Khi App chúng ta lập trình phức tạp lên → số lượng view tăng lên, nếu chỉ đặt trong một Storyboard thì các view sẽ rất là khó nhìn. Chính vì vậy mà bài viết này mình xin giới thiệu đến các bạn giải pháp sử dụng Storyboard Reference để phân chia ra nhiều Storyboard cho việc quản lý trở nên dễ dàng hơn.
Demo
Cách làm
1. Tạo project mới dạng Tabbed Application rồi sau đó chúng ta xoá First View và Second View đi
2. Do đây là Tab App nên chúng ta sẽ tạo mỗi tab là một Storyboard, sử dụng phím ⌘+N để tạo ra 3 file Storyboard (A.Storyboard, B.Storyboard, C.Storyboard)
3. Sử dụng Storyboard Reference để thiệt lập cho 3 tab như hình dưới
4. Setting để 3 Storyboard Reference đó trỏ đến 3 Storyboard mà chúng ta vừa mới tạo mới
5. Sử dụng control + drag để kết nối Segue đến các Storyboard Reference
Setting đến 3 cái như nhau:
6. Setting các Storyboard tab đã tạo
Ở Settings View Controller check vào Is Initial View Controller Do đã được kết nối đến Tab Bar Controller nên ta thiết lập Tab Bar Item Tiện thể Nhập ID của Storyboard
Setting cho 2 Storyboard còn lại tương tự như vậy
Sửa đổi View của Tab lúc khởi động
Default thì tab đầu tiên bên trái chính là tab được hiển thị đầu tiên. Để thay đổi thì chúng ta sẽ can thiệp vào selectedIndex ở trong file AppDelegate.swift
import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { if let initialTab = self.window!.rootViewController as? UITabBarController { // 0 là vị trí đầu tiên ở bên trái initialTab.selectedIndex = 2 //đây là vị trí thứ 3 tính từ trái sang } return true } func applicationWillResignActive(_ application: UIApplication) { } func applicationDidEnterBackground(_ application: UIApplication) { } func applicationWillEnterForeground(_ application: UIApplication) { } func applicationDidBecomeActive(_ application: UIApplication) { } func applicationWillTerminate(_ application: UIApplication) { } }
Thay đổi Storyboard load lúc khởi động
Khi không muốn sử dụng Tab Bar Controller để phân chia các Storyboard thì lúc khởi động chúng ta có thể tuỳ ý chỉ định cho các Storyboard nào đó mà chúng ta muôn
Để làm như vậy ta vào Project → Target → General → Main Interface để settings
Nguồn tham khảo
Qiita