我正在使用下面的代码来显示默认的UIImagePickerController
,但iOS 13
的下拉菜单来消除手势似乎不起作用,而UIImagePickerController
包裹在SwiftUI
中视图中,用户仍然可以点击默认的Cancel
标签栏项以关闭选择器,代码:
struct ContentView: View {
@State private var showModal = false
var body: some View {
Text("Tap To show modal")
.padding()
.onTapGesture {
self.showModal.toggle()
}
.sheet(isPresented: $showModal) {
SomeUIKitView()
}
}
}
final class SomeUIKitViewControllerWrapper: UIViewControllerRepresentable {
typealias UIViewControllerType = UIImagePickerController
func makeUIViewController(context: Context) -> UIImagePickerController {
let imagePicker = UIImagePickerController()
imagePicker.sourceType = UIImagePickerController.SourceType.photoLibrary
return imagePicker
}
func updateUIViewController(_ uiViewController: UIImagePickerController, context: Context) {}
}
struct SomeUIKitView: View {
var body: some View {
SomeUIKitViewControllerWrapper()
}
}
您可以在SwiftUI中建立下拉菜单