SwiftUI UIViewControllerRepresentable.updateUIViewController(_:context:)の流れ
UIViewControllerRepresentable.updateUIViewController(_:context:)の流れ
Example
RefillView
import SwiftUI struct RefillView: View { let screenSize: CGSize = UIScreen.main.bounds.size @State var onSettingView: Bool = false var body: some View { ZStack { Image("testtemplate") .resizable() .scaledToFit() .frame(width: screenSize.width, height: screenSize.height, alignment: .center) PencilKitViewControllerView(onSettingView: self.$onSettingView) VStack { HStack { Button(action: { print("menu tap") self.onSettingView.toggle() }, label: { Image(systemName: "square.grid.3x3") .font(.largeTitle) }) Spacer() } Spacer() } .padding(8.0) } } } struct RefillView_Previews: PreviewProvider { static var previews: some View { RefillView() } }
PencilKitViewControllerView
import SwiftUI import PencilKit struct PencilKitViewControllerView: UIViewControllerRepresentable { @Binding var onSettingView: Bool func makeUIViewController(context: Context) -> PencilKitViewController { return PencilKitViewController() } func updateUIViewController(_ controller: PencilKitViewController, context: Context) { print(#function) controller.setOnSettingCalendarView(on: self.onSettingView) } }