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)
}
}







