我一直在尝试在新应用中实现照片选择功能。我目前的方法是使用嵌入在 UIViewControllerRepresentable 中的 PHPickerViewController 在 swiftUI 视图中显示。
这是我的 makeUIViewController 函数。
func makeUIViewController(context: Context) -> PHPickerViewController {
var configuration = PHPickerConfiguration()
configuration.filter = filter
configuration.selectionLimit = limit
let controller = PHPickerViewController(configuration: configuration)
controller.delegate = context.coordinator
return controller
}
它在一个名为 的结构中PhotoPicker
:
struct PhotoPicker: UIViewControllerRepresentable {
是的,所有这些。让我解释一下,PickerView
始终呈现,它不是弹出窗口,因此不需要取消按钮。如您所见,也没有完成按钮。那是因为只需要选择一个图像,所以当用户点击图像时,会立即调用选择新图像的事件。无需用户确认。然后关于搜索栏,我真的不想要它,我只是想让用户选择一张照片,最后在我的情况下也不需要在照片和相册之间进行小切换。
我尝试了很多不同的方法,包括在创建控制器时尝试为控制器设置选项makeUIViewController
。这些选项例如:
controller.navigationController?.setToolbarHidden(true, animated: false)
controller.navigationController?.setNavigationBarHidden(true, animated: false)
我还尝试在我的 SwiftUI 正文中调用视图修饰符:
PhotoPicker(filter: .images, limit: 1) { (results) in
}
.navigationBarTitle("")
.navigationBarHidden(true)
.statusBar(hidden: true)
.navigationBarBackButtonHidden(true)
但同样,它们似乎都不起作用。所以这就是我在这里问的原因,因为似乎我尝试了一切,但没有任何效果......