以编程方式调用PhotoPicker ?



SwiftUI PhotoPicker是一个伟大的创建按钮/标签按&然后在按下标签时显示照片选择器。但是,我想调用照片选择器,而不是在选择器的标签被按下之后,而是在条件测试通过之后。

例如,如果用户单击将调用Photo Picker的按钮,我想首先检查将附加图像的记录是否已保存。如果记录已经保存,我想启动选择器。如果还没有保存,我将显示一个警告,询问他们是要保存还是取消。如果他们选择保存,我将保存记录,然后我想自动调用照片选择器。

那么我可以通过编程方式调用Picker而不是让用户单击它吗?谢谢你的建议!

从iOS 16开始,你可以通过使用photosPicker(ispresent:

)来实现这个功能
struct DemoView: View {

@ObservedObject var viewModel: DemoViewModel
var body: some View {
VStack {
Text("Demo Project")
}
.photosPicker(isPresented: $viewModel.shouldPresentPhotoPicker, selection: $viewModel.selectedPickerItem)
}
}
class DemoViewModel: ObservableObject {
@Published var shouldPresentPhotoPicker = false
@Published var selectedPickerItem: PhotosPickerItem?
func saveTheRecord() {
/// Make an async call, and wait
shouldPresentPhotoPicker = true // Shows the Picker
}
}

最新更新