使用导航控制器自定义segue到另一个故事板swift

时间:2017-10-28 08:59:16

标签: ios swift uinavigationcontroller uistoryboardsegue

我在storyboard 1中安装了导航控制器嵌入式VC(Viewcontroller),它连接到storyboard reference storyboard 2

现在,我有了VC2,它再次成为故事板2中的NavController Embedded。 我正在执行以下代码:

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从底部推到顶部。

现在我完全没有想法了。

我的查询是:

如何从一个故事板到另一个故事板精确实现自定义segue,顶部有导航栏。

1 个答案:

答案 0 :(得分:2)

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