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

Swift:navigation item显示为下拉菜单而非按钮,如何修改?

解决Navigation Item显示为下拉菜单的问题

一、Storyboard/可视化编辑场景

  • 检查导航栏按钮布局:如果在Navigation Item的「Left Bar Button Items」或「Right Bar Button Items」中添加了多个按钮,系统会自动将它们打包成下拉菜单。只需把多余按钮移到对应另一侧的slot,或者确保单个slot内只放一个按钮即可。
  • 检查按钮属性:选中目标按钮,在Attributes Inspector面板里确认没有关联UIMenu对象。如果误加了菜单,直接清空Menu选项就能恢复成普通按钮。

二、代码实现场景

  • 排查初始化方法:如果是用代码创建Bar Button Item,检查是否误用了带menu参数的初始化方法,或者后续给按钮设置了menu属性。去掉menu参数、或者设置button.menu = nil就能恢复正常按钮样式。
  • 代码示例修正:
    错误写法(带菜单):
    let menu = UIMenu(title: "", children: [UIAction(title: "操作") { _ in }])
    let barButton = UIBarButtonItem(title: "按钮", style: .plain, target: self, action: #selector(buttonTapped), menu: menu)
    navigationItem.rightBarButtonItem = barButton
    
    修正后(普通按钮):
    let barButton = UIBarButtonItem(title: "按钮", style: .plain, target: self, action: #selector(buttonTapped))
    navigationItem.rightBarButtonItem = barButton
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 21:40:19