【问题标题】:How to pop back from native ios view to flutter view?如何从原生 ios 视图弹出到颤动视图?
【发布时间】:2019-05-28 09:14:29
【问题描述】:

我正在向现有的 flutter up 添加一个带有故事板的新视图。然后推它。根视图是flutter视图,所以只要打开原生ios视图就可以弹回来。

如何从我的根视图(颤动视图)使用相同的 UINavigationController 从原生 ios 视图弹回颤动视图?

这是我的 flutterchannelmanager swift 文件中的代码,用于将其与 appdelegate 分开。

self.storyVC = UIStoryboard(name: "StripePayment", bundle: nil)
let stripeVC: StripeViewController = self.storyVC!.instantiateViewController(withIdentifier: "stripe_payment") as! StripeViewController
self.flutterViewController.present(mynavigationController, animated: true, completion: nil)

【问题讨论】:

  • 你试过这个代码吗:- self.dismiss(animated: true, completion: nil) 弹出控制器?
  • @jigneshVadadoriya 是的,它可以工作,但我想要实现的是让我的颤动视图作为 rootviewcontroller。当我打开颤动视图时,我可以再次回到根目录。我应该更新我的问题细节,谢谢:)
  • 嘿,我也在做同样的事情,但控制器没有呈现,而是我正在推动控制器,但是当我使用弹出视图控制器时,它不会从我显示本机的地方进入上一个颤动屏幕视图相反,它将进入颤振应用程序的初始启动画面。如果您有任何建议,请帮助

标签: ios xcode dart flutter storyboard


【解决方案1】:

在 Dart 代码中调用 SystemNavigator.pop() 会调用以下 iOS 代码:

UIViewController* viewController = [UIApplication sharedApplication].keyWindow.rootViewController;
  if ([viewController isKindOfClass:[UINavigationController class]]) {
    [((UINavigationController*)viewController) popViewControllerAnimated:NO];
  }

如果这不能满足您的要求,您可以创建自己的 platform channel 来调用任意 iOS 代码。

【讨论】:

    猜你喜欢
    • 2020-12-12
    • 1970-01-01
    • 1970-01-01
    • 2012-04-29
    • 1970-01-01
    • 2017-03-23
    • 1970-01-01
    • 2021-12-29
    相关资源
    最近更新 更多