[Video Summary] Ch . 5.1 A Beginner's Intro to the NavigationStack & NavigationLink in SwiftUI (To Do List app)
Mô tả nhanh
Video này hướng dẫn cách sử dụng NavigationStack và NavigationLink để điều hướng giữa các màn hình trong SwiftUI, bao gồm cả việc sử dụng back button mặc định và cách ẩn nó để điều hướng bằng button tùy chỉnh.
Video
Mô tả chi tiết
Video này hướng dẫn cách sử dụng NavigationStack và NavigationLink để điều hướng giữa các màn hình trong SwiftUI. Nội dung chính bao gồm:
- Khởi tạo Project: Tạo project iOS mới với tên "Todo list" bằng SwiftUI, bỏ qua các tùy chọn Swift data và testing. Đổi tên
ContentViewmặc định thànhTodoListviewđể phù hợp với mục đích của ứng dụng. - NavigationStack:
- Bọc
VStacktrongNavigationStackđể kích hoạt điều hướng giữa các view.
- Bọc
- NavigationLink:
- Sử dụng
NavigationLinkđể tạo liên kết đến một view mới. destination: Xác định view sẽ hiển thị khi nhấp vào link (ví dụ:Text("Welcome to the new view")).label: Xác định nội dung hiển thị của link (ví dụ:Text("Show the new view")).- Có thể dùng
ImagevàbuttonStyle(.borderedProminent)để tạo button có giao diện đẹp.
- Sử dụng
- Tạo View Mới:
- Tạo file
DetailView.swiftmới và chuyển phần nội dung của Text view trong Destination của NavigationLink ở trên sang file mới. - Điều này giúp tổ chức code tốt hơn khi ứng dụng có nhiều view.
- Thay đổi nội dung
DetailViewthành một view phức tạp hơn vớiVStack,ImagevàText. - Tại
TodoListview, thay thế text view destination bằngDetailView().
- Tạo file
- Ẩn Back Button:
- Sử dụng modifier
.navigationBarBackButtonHidden()để ẩn back button mặc định của navigation bar trongDetailView.
- Sử dụng modifier
- Tạo Custom Button Quay Lại:
- Thêm một
@Environment(\.dismiss)variable dismiss vào struct củaDetailView - Thêm một button với title "Get back"
- Gọi
dismiss()trong action của button. - Thêm
buttonStyle(.borderedProminent)cho button này.
- Thêm một
- Tổng kết: Video tóm tắt những kiến thức trọng yếu đã học về
navigationStack,navigationLinkvà cách điều hướng bằng nút bấm trên màn hình khi ẩn back button
Chúc bạn học tập hiệu quả!