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

时间:2015-03-18 20:58:00

标签: ios xcode swift uiviewcontroller 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)
}

3 个答案:

答案 0 :(得分:8)

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

performSegueWithIdentifier("mySegue", sender: nil)

查看this video以获取支持。

希望这会有所帮助:)

答案 1 :(得分:8)

如果没有UINavigationController,则无法使用推送segue。您可以使用模态segue实现此目的,例如:

self.presentViewController(encounterViewController, animated: true, completion: nil)

答案 2 :(得分:0)

Segue公司

因此,您使用Segue ID确保正确划分。

No Segue

我建议不要这样做:

let vc = ViewControllerToSegueTo()
self.presentViewController(vc, animated: true, completion: nil)

如果您不想使用故事板,情况会好一些。