【问题标题】:pushViewController from presentView来自 presentView 的 pushViewController
【发布时间】:2020-11-02 09:24:38
【问题描述】:

rootVC -> 显示 LoginVC -> pushViewControllers SignUpVC 或 FindPasswordVC(这取决于在 LoginVC 上点击了哪个按钮)

我的做法是

  1. 在 rootVC 上显示 LoginVC
  2. 点击按钮后关闭 LoginVC 并将 selectedData 发送到 rootVC
  3. 从 rootVC 推送 ViewControllers SignUpVC 或 FindPasswordVC

但我想使用导航栏从 LoginVC 直接移动到 SignUpVC 或 FindPasswordVC,并且应该基于 rootVC 的导航
此外,LoginVC 必须显示为当前模式。
可能吗?如果可以的话怎么处理呢?

【问题讨论】:

    标签: ios swift uiviewcontroller modalviewcontroller pushviewcontroller


    【解决方案1】:

    您需要在导航控制器中嵌入LoginVC 并以模态方式显示它,然后在其中完成推送后将其关闭

     self.dismiss(animated:true,completion:nil)
    

    这会让你再次回到根目录

    【讨论】:

    • 是否可以使用 rootVC'navigation 做到这一点?
    • 否,因为这需要LoginVC 不以模态方式呈现,这意味着要推送所有 vcs
    • 是的,我就是这么想的,但我想清楚地知道这真的不可能。谢谢!
    【解决方案2】:

    是的,有可能...您要做的就是以模态方式呈现Navigation Controller,其根控制器为LoginVC ..然后您可以使用push

    【讨论】:

    • 我需要使用rootVC的导航。不是新的导航...
    【解决方案3】:

    可以通过关联一个目标对象和一个动作方法来完成。

    signUpButton.addTarget(self, action: #selector(navigateTo), for: .touchUpInside)
    
    
    @objc func navigateTo() {
      self.navigationController?.pushViewController(SignUpVC(), animated: true)
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-05
      • 1970-01-01
      • 2019-05-26
      • 2011-10-27
      • 1970-01-01
      相关资源
      最近更新 更多