【问题标题】:Custom segue with Navigation Controller to another storyboard swift使用导航控制器自定义 segue 到另一个故事板 swift
【发布时间】:2018-04-09 19:44:30
【问题描述】:

我在storyboard 1 中嵌入了navigationController VC(Viewcontroller),它连接到storyboard 2storyboard reference

现在,我有 VC2,它又是嵌入在故事板 2 中的 NavController。 我正在执行以下代码:

let storyboard = UIStoryboard(name: "Settings", bundle: nil)
let vc = storyboard.instantiateViewController(withIdentifier: "setEdit") as? EditProfile
navigationController?.pushViewController(vc!, animated: true)

settings 是故事板 2,setEdit 是来自目标 VC 的 navigationController 的 ID。

当我执行此代码时,它不会执行新控制器的演示。另外,我有一个自定义的 segue 类,可以将 VC 从右向左转换。

当我使用时:

present(vc!, animated: true, completion: nil)

它只是将 VC 从底部推到顶部。

现在我完全没有想法了。

我的查询是:

如何准确地实现从一个故事板到另一个故事板的自定义转场,顶部有导航栏。

【问题讨论】:

  • 插入视图控制器 StoryboardID。您确定两个视图控制器 StoryboardID 都已定义吗?

标签: ios swift uinavigationcontroller uistoryboardsegue


【解决方案1】:

当您使用UINavigationController 时,转换显示为从右到左(推),当您以模态方式呈现视图控制器时,表示样式和转换样式是不同的。现在你无法连接两个导航控制器,所以我建议直接连接设置故事板中的控制器,而不将其嵌入另一个导航控制器。在设置情节提要中,您必须将 EditProfileVC 设置为初始视图控制器并检查其标识符,然后您可以从您的第一个情节提要中推送它。

【讨论】:

  • 嘿,以防万一,如果我想放松或回到我原来的 VC。我到底应该怎么做
  • 您可以通过编程方式调用此方法:self.navigationController.popToRootViewController(animated: true)
  • 谢谢伙计!工作正常
  • 太棒了 ;) 干杯
猜你喜欢
  • 2012-01-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-23
  • 2015-06-22
  • 1970-01-01
  • 2012-03-10
相关资源
最近更新 更多