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

Custom segue with Navigation Controller to another storyboard swift

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

现在,我有 VC2,它又是 NavController Embedded in storyboard 2。 我正在执行以下代码:

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

settings 是故事板 2,setEdit 是来自目的地 VC.

的导航控制器的 ID

当我执行这段代码时,它不会执行新控制器的呈现。另外,我有一个自定义的 segue class 可以将 VCs 从右过渡到左。

当我使用 :

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

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

现在我完全没有想法了。

我的查询是:

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

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