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

Swift iOS 16:如何禁用PhotoPicker侧边栏并恢复旧版样式

强制恢复iOS 15及更早版本的PhotoPicker无侧边栏样式

可行方案:

  • 限制Picker的显示尺寸:iOS 16+中大屏设备的PhotoPicker会根据容器尺寸触发侧边栏逻辑,手动设置PHPickerViewController的preferredContentSize为小屏设备的典型尺寸,就能强制切换到无侧边栏的布局:

    let pickerConfig = PHPickerConfiguration()
    let picker = PHPickerViewController(configuration: pickerConfig)
    // 设置为iPhone级别的尺寸,可根据需求调整数值
    picker.preferredContentSize = CGSize(width: 375, height: 667)
    present(picker, animated: true)
    
  • 嵌入自定义导航控制器约束尺寸:如果直接设置preferredContentSize不生效,可将PHPickerViewController嵌入自定义UINavigationController,并约束导航控制器的尺寸,避免Picker触发大屏适配逻辑。

  • 降级使用旧版选择器:若业务对Picker功能要求不高,可直接使用UIImagePickerController,它在iOS 16+中仍保持iOS 15及更早版本的无侧边栏样式,不过功能上不如PHPickerViewController完善。

注意:以上方法属于利用系统布局逻辑的非标准用法,后续iOS版本迭代可能导致失效,需充分测试后再上线。

内容的提问来源于stack exchange,提问作者Filip Z

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 16:27:23