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

iPhone 8 Plus模拟器中Toolbar未显示问题求助

解决iPhone 8 Plus模拟器中Toolbar不显示的问题

嘿,我之前也碰到过类似的情况,别着急,咱们一步步排查:

  • 检查Toolbar的约束设置
    有时候在Storyboard里显示正常,但不同尺寸设备下约束没做好会导致Toolbar被挤出屏幕。进入Storyboard选中Toolbar,重点看这几个约束:

    • 确认底部约束是和Safe Area底部对齐,而不是父视图底部(iPhone 8 Plus有Home栏,Safe Area才是正确的底部参考)
    • 检查左右约束是否和Safe Area/父视图边缘对齐,宽度设置是否合理
    • 推荐直接添加这三个约束:bottom = Safe Area.bottom、leading = Safe Area.leading、trailing = Safe Area.trailing,高度可以设为默认44或者让系统自动计算
  • 查看ViewController的布局属性
    选中你的ViewController,在Attributes Inspector里找Extend Edges部分:

    • 别意外勾选了不该选的选项,同时排查代码里有没有设置过会影响布局的属性:
      // Swift里别误写这种代码,会把Toolbar挤走
      self.edgesForExtendedLayout = []
      
      // Objective-C同理
      self.edgesForExtendedLayout = UIRectEdgeNone;
      

    另外还要确认ViewController的Toolbar Items是否正确关联了你添加的Toolbar,在属性面板里选对对应的items。

  • 检查Toolbar的Hidden状态
    可能是不小心在Storyboard或代码里把Toolbar设为隐藏了:

    • 在Storyboard里选中Toolbar,看Attributes Inspector最顶部的Hidden选项是否未勾选
    • 排查viewDidLoad、viewWillAppear等方法里有没有toolbar.isHidden = true这类代码
  • 清理缓存重启模拟器
    模拟器缓存偶尔会搞出显示异常:

    • 先关闭iPhone 8 Plus模拟器
    • 点击Xcode顶部菜单Product -> Clean Build Folder(快捷键Shift+Command+K)清理构建缓存
    • 重启模拟器后重新运行项目
  • 验证Safe Area适配问题
    直接在Storyboard里切换到iPhone 8 Plus的预览模式,看看Toolbar是不是被Home指示器挡住了——如果之前约束绑的是父视图底部,就会出现这种“看似没显示,实际被遮挡”的情况。

如果以上方法都没用,你可以新建一个空白ViewController,只加Toolbar再运行到iPhone 8 Plus模拟器,这样能快速排除是不是项目其他代码干扰导致的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 12:14:13