You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 09:05:02