Ios 推动viewController时未调用viewDidLoad
这里我试图通过单击按钮导航到另一个viewController 它正在导航到下一个viewController,但Ios 推动viewController时未调用viewDidLoad,ios,swift,uinavigationcontroller,pushviewcontroller,viewdidload,Ios,Swift,Uinavigationcontroller,Pushviewcontroller,Viewdidload,这里我试图通过单击按钮导航到另一个viewController 它正在导航到下一个viewController,但viewDidLoad()没有在此处调用 下面是我编写的代码,通过单击按钮导航到另一个viewController @IBAction func nextButtonClicked(_ sender: Any) { let OrdersVC = self.storyboard?.instantiateViewController(withIdentifier: “LoginV
viewDidLoad()
没有在此处调用
下面是我编写的代码,通过单击按钮导航到另一个viewController
@IBAction func nextButtonClicked(_ sender: Any) {
let OrdersVC = self.storyboard?.instantiateViewController(withIdentifier: “LoginViewController") as! LoginViewController
self.navigationController?.pushViewController(OrdersVC, animated: true)
}
这是我的viewController(我需要导航)
在这里,我可以进入这个类,但是它本身没有调用
我应该如何做到这一点
[![这是我的故事板][1][1]
您的问题是,该VC的IB中没有解决该类问题;确保加载的类和脚本ID与要加载的类匹配。例如,要加载:
let OrdersVC = self.storyboard?.instantiateViewController(withIdentifier: “secondID") as! secondViewController
self.navigationController?.pushViewController(OrdersVC, animated: true)
图片:
您的问题是,该VC的IB中没有解决该类问题;确保加载的类和脚本ID与要加载的类匹配。例如,要加载:
let OrdersVC = self.storyboard?.instantiateViewController(withIdentifier: “secondID") as! secondViewController
self.navigationController?.pushViewController(OrdersVC, animated: true)
图片:
当我看到你的问题时,我想到两件事:
nextButtonClicked
方法是否连接到按钮(那里的代码看起来正常,因此可能只是没有执行)viewdiload
是否真的在您实例化的LoginViewController
中(我希望您正在测试通过在super.viewdiload()
上设置断点来调用viewdiload
)看到你的问题,我想到两件事:
nextButtonClicked
方法是否连接到按钮(那里的代码看起来正常,因此可能只是没有执行)viewdiload
是否真的在您实例化的LoginViewController
中(我希望您正在测试通过在super.viewdiload()
上设置断点来调用viewdiload
)只需在推送代码之间写下以下行
@IBAction func nextButtonClicked(_ sender: Any) {
let OrdersVC = self.storyboard?.instantiateViewController(withIdentifier: “LoginViewController") as! LoginViewController
_ = OrdersVC.view // write this line
self.navigationController?.pushViewController(OrdersVC, animated: true)
}
只需在推送代码之间写下以下行
@IBAction func nextButtonClicked(_ sender: Any) {
let OrdersVC = self.storyboard?.instantiateViewController(withIdentifier: “LoginViewController") as! LoginViewController
_ = OrdersVC.view // write this line
self.navigationController?.pushViewController(OrdersVC, animated: true)
}
当您从故事板实例化ViewController时使用的标识符不正确时,通常会发生这种情况。例如
[[self-getStoryboard]实例化eviewcontrollerwhidentifier:MyVC]代码>
如果MyVC
是某个其他ViewController的标识符,则可能会发生这种情况。从情节提要实例化ViewController所用的标识符不正确时,通常会发生这种情况。例如
[[self-getStoryboard]实例化eviewcontrollerwhidentifier:MyVC]代码>
如果MyVC
是某个其他ViewController的标识符,则可能会发生这种情况。那么您告诉我们您在故事板中至少有两个ViewController,第一个是导航控制器中的root,您调用了push 2 vc,但没有获得viewDidload?你们至少看到了过渡吗?你们能解释一下你们是如何构造视图控制器的吗?发布你的故事板截图?@tereks,是的,我正在使用2个以上的ViewController。第一个视图控制器是根视图控制器。我将第一视图控制器嵌入到导航控制器中。是的,我能看到过渡。我在viewController 2中获取的引用正在调用。但在viewdidload()中,情况并非如此getting@SuganyaMarlin. 我还使用了viewwillappease()。也没有调用它。将调用viewDidLoad()。显示你的故事板所以你告诉我们你在故事板中至少有2个ViewController,第一个是导航控制器中的根,你调用push 2 vc,但没有得到viewDidload?你们至少看到了过渡吗?你们能解释一下你们是如何构造视图控制器的吗?发布你的故事板截图?@tereks,是的,我正在使用2个以上的ViewController。第一个视图控制器是根视图控制器。我将第一视图控制器嵌入到导航控制器中。是的,我能看到过渡。我在viewController 2中获取的引用正在调用。但在viewdidload()中,情况并非如此getting@SuganyaMarlin. 我还使用了viewwillappease()。也没有调用它。将调用viewDidLoad()。显示您的故事板我只提供了正确的标识符。见我编辑的问题。在那里你可以找到我的故事板截图和身份检查器你可以发送一个演示这个问题我只给出了正确的标识符。见我编辑的问题。在那里你可以找到我的带有身份检查器的故事板截图,或者你可以发送一个这个问题的演示,下一个按钮点击连接。点击按钮后,它也会进入按钮动作。nextButtonClicked已连接。点击按钮后,它也会进入按钮动作。写下这行,现在viewDidLoad正在调用。但它并不是导航到下一个viewController。它仅保留在第1个viewController中。现在viewDidLoad正在调用该行。但它并不是导航到下一个viewController。它仅保留在第一视图控制器中