如何用Storyboard实现下拉菜单?解决默认选择无效报错
核心问题原因
这个报错的本质是你配置的UIMenu要求有默认选中项,但未指定有效元素,或者按钮与菜单的关联未正确完成。以下是Storyboard中的完整解决步骤:
第一步:设置正确的按钮类型
选中Storyboard里的目标按钮,在右侧Attributes Inspector面板中,将Button Type改为Menu(仅iOS14及以上版本支持),这是按钮能加载菜单的前提。第二步:修复默认选中项配置
报错的直接原因是菜单缺少有效默认选中元素,两种解决方式二选一:- 给菜单指定默认选中项:选中你创建的UIMenu,在Attributes Inspector里找到Default Selection,从已添加的UIMenuItem中选择一个作为默认选中项;
- 关闭选中要求:如果你的菜单不需要默认选中状态,找到UIMenu属性里的Allows Selection选项并取消勾选,这样就不会强制要求设置默认选中项。
第三步:确认按钮与菜单的关联
虽然Storyboard在添加菜单时通常会自动关联,但可以手动验证:
选中按钮,切换到右侧Connections Inspector面板,找到menu出口,确认它已经连接到你创建的UIMenu对象。如果未连接,直接拖拽按钮的menu出口到左侧文档大纲中的UIMenu对象上即可完成关联。第四步:检查菜单项细节
确保所有UIMenuItem的Title不为空,空标题的菜单项可能导致菜单识别异常,进而触发报错。
内容的提问来源于stack exchange,提问作者Dennis
相关产品推荐
相关产品推荐

