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

Segue设为Push却以模态方式呈现,请问问题原因?

解决Push Segue以模态方式展示的问题

以下是几个常见的排查和解决方法:

  • 确认源控制器已嵌入导航控制器
    Push segue的生效前提是源控制器处于UINavigationController的导航栈中。如果你的源控制器没有被导航控制器包裹,系统会自动将Push segue降级为模态展示。解决方法是:在Storyboard中选中源控制器,右键选择「Embed In」→「Navigation Controller」。

  • 检查Segue的类型设置
    即使你以为选了Push,也可能在关联时误操作。重新检查Segue的属性:

    1. 在Storyboard中点击对应的Segue线条
    2. 在右侧Attributes Inspector中,确认「Segue Type」是Push,而不是「Present Modally」或其他类型
  • 验证目标控制器的Presentation属性
    选中目标控制器,在右侧Attributes Inspector的「Presentation」选项中,确保设置为Automatic(默认值)。如果设置为「Full Screen」等其他选项,也可能导致展示异常。

  • 检查代码中是否有Segue行为的修改
    如果你重写了prepare(for segue: UIStoryboardSegue, sender: Any?)方法,确认没有在其中修改Segue的展示方式,比如手动设置目标控制器的modalPresentationStyle。

附你提供的按钮点击代码:

@IBAction func heyoTapped(_ sender: UIButton) {
    performSegue(withIdentifier: "goToFriendList", sender: nil)
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 18:35:40