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

如何将LargestUndimmedDetentIdentifier与自定义SheetPresentation高度配合使用?

如何为自定义Detent设置UISheetPresentationController的LargestUndimmedDetentIdentifier

你只需要把创建自定义Detent时传入的标识符字符串赋值给LargestUndimmedDetentIdentifier就行——这个属性的作用是指定「最大的那个允许下方内容交互的Sheet高度档位」。

看你的代码:

  • 创建smallDetent时用的标识符是"small"
  • 创建msmallPlusDetent时用的标识符是"smallPlus"

具体赋值取决于你的需求:

  • 要是希望Sheet处于small(60高度)时能和下方内容交互,而smallPlus(350高度)时遮罩下方,就赋值"small"
  • 要是希望Sheet在small和smallPlus两个高度下,下方内容都能交互,就赋值"smallPlus"(它是更高的档位,设置后所有比它低的档位都会自动保持不遮罩)

修改后的代码示例:

// 让smallPlus档位时也能交互下方内容
sheet.LargestUndimmedDetentIdentifier = "smallPlus";

// 或者只让small档位时可交互
// sheet.LargestUndimmedDetentIdentifier = "small";

补充几个注意点:

  • 自定义Detent的标识符要保证唯一,别和系统自带的(比如UISheetPresentationControllerDetentIdentifier.Medium、Large)重名
  • 如果不需要任何档位允许下方交互,直接把这个属性设为null即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 06:46:06