ZhouW
ZhouW

Reputation: 1207

Swift and watchkit: pushControllerWithName not being called at all

I have always used the pushControlledWithName method in swift/watchkit to move to another interface controller, basically like this:

self.pushControllerWithName("newinterfacecontroller", context: nil)

In some of my projects, when I put this in a function (like where the user presses a button) it simply doesn't get called at all. No errors, just as if the code isn't there at all. If I create a new test project and try it it works. I am baffled as to what's going on here.

Example of what happens:

    @IBAction func button1Action() {

    println("test")

    self.pushControllerWithName("newinterfacecontroller", context: nil)

}

Pressing the button will print "test" in the console, but it doesn't try to move to the new interface controller (with identifier "newinterfacecontroller") at all.

Upvotes: 2

Views: 1588

Answers (1)

gregheo
gregheo

Reputation: 4270

I think you've figured this out from the comments, but page-based interfaces are technically modals and not navigation-stack interfaces.

You can present modals from anywhere, but you can only push onto a navigation stack from a non-modal.

Upvotes: 1

Related Questions