我一直在尝试在一个新的应用中实现照片选择功能,我目前的方法是使用一个PHPickerViewController嵌入到一个UIViewControllerRepresentable中,以显示在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)
型
但是,没有一个似乎是工作。所以这就是为什么我问这里,因为它似乎我尝试了一切,没有工作.
1条答案
按热度按时间k3bvogb11#
您不能完全删除选取器的UINavigationBar,但可以使用以下命令删除搜索栏和其他一些元素:
字符串
编辑:也有“. photosPickerVisibility”,但它只在SwiftUI中可用,而不是UIKit. Docs are here.