Geon

iOS 앱에서 SwiftUI와 UIKit을 함께 사용하는 방법은 무엇인가요? 본문

카테고리 없음

iOS 앱에서 SwiftUI와 UIKit을 함께 사용하는 방법은 무엇인가요?

jgkim1008 2024. 8. 1. 08:34

iOS 앱에서 SwiftUI와 UIKit을 함께 사용하는 방법은 무엇인가요?

  • 최소지원 버전이 iOS13 버전 이상

SwifUI 뷰에서 UIKit 뷰 컨트롤러를 사용하는 방법을 설명해주세요.

  • UIHostingController로 래핑해서 사용

UIKit 뷰 컨트롤러에서 SwiftUI 뷰를 호스팅하는 방법은 무엇인가요?

  • UIViewRepresentable 프로토콜을 채택하게 하여 래핑함
func updateUIViewController(_ uiViewController: UIViewController, context: Context)
  • SwiftUI 에서 View가 재 랜더했을시 수행하면 좋을 로직들 적용
  • func makeUIView(context: Context) -> UIView

 

  • 초기 init시 셋팅할 내용
    func makeCoordinator() -> Coordinator {
        return Coordinator(owner: self)
    }
  • Coordinator의 경우는 내부에 TextFieldDelegate등 UIKit에서 제공한 Delegate를 사용할수 있게 구현된것

 Life Cycle

  • Initialization: makeCoordinator() → make() → update()
  • Update: update()

SwiftUI와 UIKit을 함께 사용할 때 주의할 점은 무엇인가요?

  • 랜더링 하는 방식이 다르니, 함께 사용되는 View가 모두 동시에 랜더링 되도록 구현해야한다.