I have swiftUI where on button click i want to present popover which is created in UIKIT.
I have swiftui screen which has some bar button on click on that bar button i want to open popover on bottom of that.
SwiftUI Screen
struct ContentView: View {
@State var isOpenView = false
let session: Session
let someBarButtonItem: UIBarButtonItem
var body: some View {
NavigationView {
VStack {
} .navigationBarItems(leading: Button(action: {
TestControllerView(session, someBarButtonItem)
}, label: { Text("someBarButton") }))
}
}
}
ViewRepresentable:
struct TestControllerView: UIViewControllerRepresentable {
private let session: Session
private let someBarButtonItem: UIBarButtonItem
private var mainController: TestControllerViewController?
init(session: Session someBarButtonItem: UIBarButtonItem ) {
self.session = session
self.retrieveSalesBarButtonItem = someBarButtonItem
self.mainController = TestControllerViewController(session: self.session)
}
func makeUIViewController(context: Context) -> TestControllerViewController {
if let mainController = mainController {
mainController.modalPresentationStyle = UIModalPresentationStyle.popover
if let popoverPresentationController = mainController.popoverPresentationController {
popoverPresentationController.barButtonItem = someBarButtonItem
popoverPresentationController.passthroughViews = []
popoverPresentationController.backgroundColor = UIColor(.red)
}
present(mainController, animated: true, completion: nil) // This is how i used to do in UIKIT but i am not sure how to present popover over here. This is not working and problem area
}
}
}
How can i present popover which is create in UIKIT from button which is created in swiftui