visionOS 1.0中PhotosPicker嵌入popover无法显示问题咨询
关于visionOS中PhotosPicker嵌入popover失效的问题分析
环境:visionOS 1.0、Xcode 15.2
在visionOS开发场景下,将PhotosPicker嵌入popover组件时无法触发照片选择界面,但替换为sheet组件后功能完全正常。
失效的popover实现代码
struct PhotoPickerTest: View { @State private var selectedPhotoItem: PhotosPickerItem? @State private var isTaped: Bool = false var body: some View { Button("", systemImage: "plus") { isTaped = true } .popover(isPresented: $isTaped) { PhotoPickerView() } } func PhotoPickerView() -> some View { PhotosPicker(selection: $selectedPhotoItem) { Image(systemName: "photo") } } }
正常工作的sheet实现代码
struct PhotoPickerTest: View { @State private var selectedPhotoItem: PhotosPickerItem? @State private var isTaped: Bool = false var body: some View { Button("", systemImage: "plus") { isTaped = true } .sheet(isPresented: $isTaped) { PhotoPickerView() } } func PhotoPickerView() -> some View { PhotosPicker(selection: $selectedPhotoItem) { Image(systemName: "photo") } } }
结论
这是visionOS 1.0的框架兼容性Bug,并非操作错误。PhotosPicker与popover的模态层级存在冲突,导致无法正常唤起照片选择界面;而sheet的模态呈现机制与PhotosPicker适配性良好,因此可以正常工作。
内容的提问来源于stack exchange,提问作者Tinn_Vision
相关产品推荐
相关产品推荐

