[Video Summary] Ch. 6.7 Simple Circular Progress View in SwiftUI (2024)
Mô tả nhanh
Video này hướng dẫn cách sử dụng và tùy chỉnh ProgressView cơ bản trong SwiftUI, bao gồm cách thay đổi màu sắc, kích thước và điều khiển hiển thị của nó. Video cũng trình bày cách tích hợp nó vào một ứng dụng thực tế để hiển thị trạng thái tải dữ liệu.
Video
Mô tả chi tiết
Video này trình bày cách sử dụng ProgressView trong SwiftUI để hiển thị tiến trình tải dữ liệu. Đầu tiên, video tạo một ứng dụng nhỏ để thử nghiệm và tùy chỉnh ProgressView, sau đó tích hợp nó vào ứng dụng "Catch them all" để hiển thị khi dữ liệu đang được tải.
Các bước thực hiện chính:
-
Tạo dự án thử nghiệm:
- Tạo một project SwiftUI mới có tên "progressView".
- Xóa nội dung mặc định trong
VStack. - Thêm
ProgressView(), đây là một spinner cơ bản màu xám. - Sử dụng
.tint(.red)để thay đổi màu spinner thành đỏ. - Sử dụng
.scaleEffect(4)để tăng kích thước spinner lên gấp 4 lần.
-
Điều khiển hiển thị
ProgressView:- Tạo một biến trạng thái
@State private var showProgressView = falseđể kiểm soát việc hiển thịProgressView. - Thêm một
Buttonđể toggle giá trị củashowProgressView. - Sử dụng
if showProgressView { ... }để hiển thịProgressViewchỉ khishowProgressViewlàtrue.
- Tạo một biến trạng thái
-
Tích hợp vào ứng dụng "Catch them all":
- Sử dụng
ZStackđể hiển thịProgressViewở trên cùng củaList. - Thêm
ProgressView()sauListtrongZStack. - Tùy chỉnh màu sắc và kích thước của
ProgressView. - Thêm biến
isLoadingkiểuBoolvào class Creatures để theo dõi trạng thái tải dữ liệu (falsekhi không tải,truekhi đang tải). - Trong hàm
getData()củaCreatures:- Set
isLoadingthànhtruekhi bắt đầu tải dữ liệu.- Set
isLoadingthànhfalsekhi tải thành công hoặc khi có lỗi.
- Set
- Set
- Trong CreaturesListView, bọc
ProgressViewtrong mộtifstatement, chỉ hiển thị khicreatures.isLoadinglàtrue.
- Sử dụng
Kết quả là ProgressView sẽ chỉ hiển thị khi ứng dụng đang tải dữ liệu, và sẽ ẩn đi khi quá trình tải hoàn tất hoặc có lỗi xảy ra.
Chúc bạn có thêm một kỹ năng hữu ích với SwiftUI!