SwiftUI:无法下拉以关闭UIImagePickerController

问题描述 投票:2回答:1

我正在使用下面的代码来显示默认的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()
    }
}

enter image description here

ios swift swiftui
1个回答
0
投票

您可以在SwiftUI中建立下拉菜单

© www.soinside.com 2019 - 2024. All rights reserved.