iOS 16 Beta中SwiftUI Menu的primary action失效问题求助
在iOS 16早期Beta版本中,SwiftUI的Menu组件primaryAction参数存在触发异常的问题,核心原因是苹果在Beta阶段调整了Menu的交互逻辑,导致点击Menu主标签时无法正确触发primaryAction闭包。
解决方法
- 优先升级系统版本:苹果在iOS 16正式发布前修复了该bug,升级到iOS 16正式版或后续Beta版本后,
primaryAction即可正常工作。 - 临时兼容方案(针对无法升级的场景):如果需要在早期Beta版本中维持功能,可以给Menu的label标签添加独立点击手势模拟
primaryAction效果,示例代码如下:
Menu { Button { print("action 1") } label: { Text("Action 1") } } label: { Text("Menu") .onTapGesture { print("primary") } }
⚠️ 注意:该临时方案仅适用于早期Beta版本,在iOS 16正式版中建议移除额外的点击手势,避免与原生primaryAction触发逻辑冲突。
内容的提问来源于stack exchange,提问作者meinharttom
相关产品推荐
相关产品推荐

