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

Navigation Controller按钮问题:首页控制器跳转异常

嘿,我来帮你搞定这个导航控制器的按钮跳转问题!看起来你之前用拖拽连线没成功,大概率是没选对segue类型或者导航结构没配置好,我给你两种靠谱的解决方式,你按需选:

方法1:用Storyboard可视化配置(新手友好)

首先得确认你的导航结构是对的:首页“AR NOTE”必须是Navigation Controller的根ViewController,而“Choose source”是从首页通过push segue进入的页面(这样才会在导航栈里,支持返回操作)。

具体步骤:

  1. 打开Storyboard,选中“Choose source”这个ViewController,先检查它顶部有没有Navigation Item——如果没有,去右侧Object Library搜“Navigation Item”拖过来,放在VC顶部的导航栏位置。
  2. 拖一个Bar Button Item到Navigation Item的左侧位置,把按钮标题改成“Home”(也可以选系统自带的Home图标,更直观)。
  3. 关键步骤:要回到首页,不能直接push新的首页实例(否则导航栈会越来越长),应该用unwind segue:
    • 先打开首页“AR NOTE”的代码文件,添加一个空的unwind方法:
      @IBAction func unwindToHome(_ segue: UIStoryboardSegue) {
          // 不需要写任何逻辑,只要这个方法存在就行
      }
      
      (OC版本)
      - (IBAction)unwindToHome:(UIStoryboardSegue *)segue {
      }
      
    • 回到Storyboard,右键点击“Choose source”里的Home按钮,拖拽到VC顶部的Exit图标(就是那个绿色的退出箭头),在弹出的选项里选择刚才的unwindToHome:方法。
  4. 运行测试,点击Home按钮就能回到“AR NOTE”首页了!
方法2:纯代码实现(灵活度更高)

如果你更喜欢用代码控制,直接在“Choose source”的ViewController里写:

override func viewDidLoad() {
    super.viewDidLoad()
    
    // 创建Home按钮并设置为左侧导航按钮
    let homeBtn = UIBarButtonItem(title: "Home", style: .plain, target: self, action: #selector(navigateToHome))
    navigationItem.leftBarButtonItem = homeBtn
}

@objc private func navigateToHome() {
    // 直接回到导航栈的根ViewController(也就是你的首页)
    navigationController?.popToRootViewController(animated: true)
}

(OC版本)

- (void)viewDidLoad {
    [super viewDidLoad];
    
    UIBarButtonItem *homeBtn = [[UIBarButtonItem alloc] initWithTitle:@"Home" style:UIBarButtonItemStylePlain target:self action:@selector(navigateToHome)];
    self.navigationItem.leftBarButtonItem = homeBtn;
}

- (void)navigateToHome {
    [self.navigationController popToRootViewControllerAnimated:YES];
}

小提醒

如果你的“Choose source”是通过模态(Modal)方式弹出的,那上面的pop方法就没用了,得改成dismiss(animated: true),但一般左上角放Home按钮的场景,都是push进入的导航栈结构,所以先确认你的页面跳转方式哦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 04:34:49