Computer Science/swift 뽀개기 - 참고 사이트 저장소

[swift] uikit와 swiftui 혼용하기 (uikit에서 swiftui사용, swiftui에서 uikit사용)

_cactus 2021. 10. 6. 01:30
반응형

1. UIKit → SwiftUI

: UIKit의 UIView를 SwiftUI에서 사용하는 방법
영어로는 wrapping을 한다고 합니다. wrap UIView to use in SwiftUI

1-a. SwiftUI에서 UIView 사용

UIViewRepresentable protocol를 준수하는 구조체(struct) 생성하여 SwiftUI에서 사용

반응형

UIViewRepresentable protocol

: UIViewRespresentable protocol을 준수하기 위해 반드시 구현되어야 하는 2가지 메소드

  1. func makeUIView(context: Context) → UIKit의 UI ElementType(ex. UILabel)
    • SwiftUI에서 보여줄 view를 반환
  2. func updateUIView(_ uiView: UIKit의 UI ElementType, context: Context)
    • SwiftUI에서 update가 발생할 때 실행됨
struct TextView: UIViewRepresentable { 
    @Binding var text: String 

    func makeUIView(context: Context) -> UITextView { 
        return UITextView() 
    } 
    func updateUIView(_ uiView: UITextView, context: Context) { 
        uiView.text = text 
    } 
}








UIViewControllerRepresentable  
: a view that represents a UIKit View Controller

우선 UIViewControllerRepresentable를 준수하는 구조체 생성

dfadf
```

728x90
반응형