Ios self?.performsgue未显示导航栏

Ios self?.performsgue未显示导航栏,ios,swift,storyboard,uinavigationbar,Ios,Swift,Storyboard,Uinavigationbar,上面的代码不显示导航栏,即使我使用了推入式情节提要。 下面的代码显示了一个错误,即使存在具有正确名称的segue self?.performSegue(withIdentifier: "myview", sender: nil) 错误 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“Receiver()没有标识符为“myview”的segue” 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“Rec

上面的代码不显示导航栏,即使我使用了推入式情节提要。 下面的代码显示了一个错误,即使存在具有正确名称的segue

self?.performSegue(withIdentifier: "myview", sender: nil)
错误

由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“Receiver()没有标识符为“myview”的segue”


由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“Receiver()没有标识符为“myview”的segue

正如错误中所写的那样,没有segue被命名为“myView”,这取决于您是否在使用故事板,您应该看一看 如果没有故事板,请检查

但是,还要花时间阅读错误消息

self?.navigationController?.performSegue(withIdentifier: "myview", sender: nil)
此行将不使用myview执行segue。您已使用视图控制器而不是导航控制器连接segue。这就是为什么在执行此操作时会出现错误

self?.navigationController?.performSegue(withIdentifier: "myview", sender: nil)
检查是否已将视图控制器正确连接到segue,并确保视图控制器中已连接导航控制器。如果在未连接导航控制器的情况下直接推送,则会导致问题


希望它能解决问题。如果没有,请在找到解决方案后更新答案。谢谢

self?.navigationController?.performsgue(带有标识符:“myview”,发件人:nil)
segue附加到
UIViewController
子类实例,而不是
UINavigationController
实例,因此不能在后者上调用它


如果执行segue后没有导航栏,则必须确保将视图控制器正确嵌入导航控制器中,或者手动添加导航栏,确保将其添加到另一个视图控制器中,并且在
视图将出现
方法中。

在案例1中:确保UINavigationBar上的可见性。 案例2:将segue与UINavigationController连接,而不是与UIViewController连接。

您的导航栏可能被隐藏,请尝试在segue调用的viewcontroller中添加此代码

self?.performSegue(withIdentifier: "myview", sender: nil)

注意:请检查推送带有“myView”的segue的viewController是否嵌入到UINavigationController中。

您试图在哪个类中执行此操作,
self
指的是什么?你确定你正确设置了segue标识符吗?是的,这就是为什么simple self?performSegue可以工作,但没有导航栏。导航一个是抛出一个错误谢谢,因为每个人都建议在我做self?navigationController?performsgue时没有viewcontroller。
override func viewWillAppear(_ animated: Bool) {
        self.navigationController?.setNavigationBarHidden(false, animated: true)
}