我不能在viewDidLoad上使用segue。
我已经检查过segue是在另一个func上写的。
加载视图时检查某些条件,然后更改视图,这就是我想要的。
override func viewDidLoad(){
super.viewDidLoad()
performSegue(withIdentifier: "go" , sender: self)
}
答案 0 :(得分:-1)
如果要在加载视图时将视图控制器推入,则只需使用此代码。
let storyBoard : UIStoryboard = UIStoryboard(name: "your_StoryBoard", bundle:nil)
let nextViewController = storyBoard.instantiateViewController(withIdentifier: "VC_Identifier") as! TargerViewController
self.navigationController?.pushViewController(nextViewController, animated: true)
或 您可以通过检查任何条件将目标viewcontroller设置为root viewcontroller。
希望它会帮助您。
答案 1 :(得分:-1)
将 viewDidLoad 替换为 viewDidAppear 解决了我的问题
override func viewDidAppear() {
super.viewDidLoad()
performSegue(withIdentifier: "go" , sender: self)
}
答案 2 :(得分:-1)
我宁愿不要按以下方式使用segue使用
let storyboard = UIStoryboard(name: "YourStoryboard", bundle: nil)
let VC = storyboard.instantiateViewController(withIdentifier: "Your Identifier") as! Your ViewController
self.present(VC, animated:true, completion:nil)
使用此用户从一个VC重定向到另一个VC