xcode swift4如何更改viewdidload中的页面

时间:2018-11-02 03:26:53

标签: swift xcode

我不能在viewDidLoad上使用segue。

我已经检查过segue是在另一个func上写的。

加载视图时检查某些条件,然后更改视图,这就是我想要的。

override func viewDidLoad(){
  super.viewDidLoad()
  performSegue(withIdentifier: "go" , sender: self)
}

3 个答案:

答案 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