Hoán đổi Trình điều khiển xem gốc

Tram Ho

Môi trường phát triển:

  • Swift Language Version: Swift 5
  • Xcode: Version 10.2.1 (10E1001)
  • Deployment Target: 12.0

Hôm nay mình sẽ giới thiệu với anh em một cách đơn giản và thông dụng trong việc xử lý thao tác đăng nhập, đăng xuất giữa các màn hình trong App iOS. Đó chính là Swap the Root View Controller.

Bước 1: Khởi tạo màn hình login / main

Lần lượt ta sẽ tạo 2 màn hình login và main như hình dưới đây:

Tiếp theo ta khai báo loginViewControllermainViewController trong extension UIStoryboard:

Bước 2: Tạo singleton App class

Ở đây ta sử dụng UserDefaults để lưu giá trị bool với mục đích check việc đăng nhập / đăng xuất của user.

Bước 3: Khởi tạo hàm switchBackToLogin() và switchLoginToMain()

Hàm switchBackToLogin() thay đổi rootViewController = loginViewController khi user nhấn nút đăng xuất ở màn MainViewController.

Hàm switchLoginToMain() thay đổi rootViewController = mainNavigationController khi user nhấn nút đăng nhập ở màn loginViewController.

Bước 4: Hoàn tất

Trong AppDelegate.cs, ta gán App.shared.window = window và gọi func startInterface() trong singleton App.

Trong LoginViewController, ta set giá trị bool trong UserDefaults là true khi user nhấn nút đăng nhập và gọi hàm switchLoginToMain() để màn hình chuyển sang MainViewController.

Trong MainViewController, ta set giá trị bool trong UserDefaults là false khi user nhấn nút đăng xuất và gọi hàm switchBackToLogin() để quay trở về màn hình LoginViewController.

và đây là kết quả:

Chia sẻ bài viết ngay

Nguồn bài viết : Viblo