Hôm nay cafedev sẽ giới thiệu một cách ngắn ngọn và cực dễ hiểu về UIViewRepresentable vs UIViewControllerRepresentable vs UIHostingController trong SwiftUI để các bạn có thể thực hành nó một cách nhanh chóng nhất có thể. Vì một thế giới dev luôn thay đổi từng ngày.

Lưu ý: Bài này sẽ được cập nhật (kiến thức, demo) liên tục cho tới khi UIViewRepresentable vs UIViewControllerRepresentable vs UIHostingController được ổn định nhất.

Khái niệm

UIViewRepresentable là một view của UIKit. Sử dụng cái này khi bạn muốn sử dụng UIView trong SwiftUI.

UIViewControllerRepresentable là một ViewController của UIKit. Sử dụng điều cái này khi bạn muốn sử dụng UIViewController bên trong SwiftUI.

UIHostingController là một UIViewController để hiển thị view của SwiftUI.

Một số demo cơ bản

UIViewRepresentable

  • Để bất kỳ UIView nào có thể sử dụng được trong SwiftUI, hãy tạo một wrapper view kế thừa UIViewRepresentable

  • Nếu bạn muốn kết nối dữ liệu UIKit (delegate, target/action), hãy sử dụng Coordinator.Chi tiết có thể được tìm thấy trong bài này.

UIViewControllerRepresentable

  • Để bất kỳ UIViewContoder nào có thể sử dụng được trong SwiftUI, hãy tạo một wrapper view kế thừa UIViewControllerRepresentable.Chi tiết có thể được tìm thấy trong bài này.

UIHostingController

Các bài Demo nâng cao

Đang cập nhật

Tài liệu tham khảo

Tài liệu gốc của Apple cho UIViewRepresentable

Tài liệu gốc của Apple cho UIViewControllerRepresentable

Tài liệu gốc của Apple cho UIHostingController

Đăng ký kênh youtube để ủng hộ Cafedev nha các bạn, Thanks you!