以编程方式更改没有导航控制器Swift的视图控制器

sam*_*ndo 5 xcode uiviewcontroller ios swift xcode6

我想在不使用导航控制器的情况下按下按钮时切换到新的视图控制器,我似乎无法做到这一点.我到处寻找答案,但我发现的一切都是在objective-c,使用导航控制器,或根本不工作.

func gunsoutButtonPressed(sender:UIButton!) {
    print("yay\t")
    //let encounterVC:AnyObject! = self.storyboard?.instantiateViewControllerWithIdentifier("ecounterViewController")
    //self.showViewController(encounterVC as UIViewController, sender: encounterVC)
    let encounterViewController = self.storyboard.instantiateViewControllerWithIdentifier("encounterViewController") as encounterViewController
    self.pushViewController(encounterViewController, animated: true)
}
Run Code Online (Sandbox Code Playgroud)

Lin*_*rth 8

您必须连接您想要使用的两个ViewControllers.然后根据需要命名segue,然后使用以下代码触发segue(在IBAction内部或其他东西).它不是完全以编程方式,但您可以通过编程方式触发它们,这应该足够了.

performSegueWithIdentifier("mySegue", sender: nil)
Run Code Online (Sandbox Code Playgroud)

看看这个视频的支持.

希望这可以帮助 :)

  • 谢啦.这非常有效.为了拯救我,我对你负有永久的债务. (3认同)

Mat*_*per 8

没有a就不能使用push segue UINavigationController.您可以使用模态segue实现此目的,例如:

self.presentViewController(encounterViewController, animated: true, completion: nil)
Run Code Online (Sandbox Code Playgroud)