2015-03-20 4 views
2

Я всегда использовал метод pushControlledWithName в быстром/watchkit, чтобы перейти к другому контроллеру интерфейса, в основном, как это:Swift и watchkit: pushControllerWithName не вызывается вообще

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

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

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

@IBAction func button1Action() { 

    println("test") 

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

} 

Нажатие кнопки напечатает «тест» в консоли, но он не пытается перейти на новый контроллер интерфейса (с идентификатором «newinterfacecontroller») на всех ,

+0

Является ли я в навигации по страницам? –

+0

Вы имеете в виду, где у меня есть управление, перетащили его на другой контроллер интерфейса, чтобы пользователь мог прокрутить для переключения интерфейсных контроллеров? Да. К сожалению, симулятор часовки никогда не работает для меня, если я не прокручу еще один пустой контроллер интерфейса, а затем вернусь к основному (только тогда он будет загружен), поскольку в противном случае я получаю вращающийся шар смерти и ничего не загружается. – ZhouW

+0

Я обнаружил, что в этом проблема - если есть система навигации с постраничным основанием, self.pushControllerWithName не вызывается. Надеюсь, я смогу заставить тренажер работать нормально, поэтому он загружается без переключения интерфейсных контроллеров. – ZhouW

ответ

1

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

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

Смежные вопросы