Swift и watchkit: pushControllerWithName вообще не вызывается

Я всегда использовал метод pushControlledWithName в swift/watchkit для перехода к другому контроллеру интерфейса, в основном так:

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

В некоторых моих проектах, когда я помещаю это в функцию (например, когда пользователь нажимает кнопку), она просто вообще не вызывается. Никаких ошибок, как будто кода вообще нет. Если я создам новый тестовый проект и попробую, он сработает. Я сбит с толку тем, что здесь происходит.

Пример того, что происходит:

    @IBAction func button1Action() {

    println("test")

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

}

При нажатии на кнопку в консоли будет напечатано «test», но она вообще не пытается перейти на новый контроллер интерфейса (с идентификатором «newinterfacecontroller»).


person ZhouW    schedule 20.03.2015    source источник
comment
Является ли self в постраничной навигации?   -  person Ashraf Tawfeeq    schedule 20.03.2015
comment
вы имеете в виду, где я перетащил управление на другой контроллер интерфейса, чтобы пользователь мог свайпом переключать контроллеры интерфейса? Да. К сожалению, симулятор watchkit никогда не работает для меня, если я не перехожу к другому пустому контроллеру интерфейса, а затем возвращаюсь к основному (только тогда он загружается), иначе я получаю вращающийся шар смерти и ничего не загружается.   -  person ZhouW    schedule 21.03.2015
comment
Я обнаружил, что это проблема - если есть постраничная навигация, self.pushControllerWithName не вызывается. Надеюсь, я смогу заставить симулятор работать правильно, чтобы он загружался без необходимости переключать контроллеры интерфейса.   -  person ZhouW    schedule 21.03.2015
comment
Отлично тогда. Удачи.   -  person Ashraf Tawfeeq    schedule 22.03.2015


Ответы (1)


Я думаю, вы поняли это из комментариев, но интерфейсы на основе страниц технически являются модальными, а не интерфейсами стека навигации.

Вы можете отображать модальные окна из любого места, но вы можете вставлять их в стек навигации только из немодальных окон.

person gregheo    schedule 21.03.2015