Watchkit: как перезагружать страницы в модальном интерфейсе?

Перезагрузить страницы на корневом уровне в watchkit легко, просто вызовите

[WKInterfaceController reloadRootControllersWithNames:names contexts:contexts];

Но что, если мне нужно перезагрузить страницы, когда они сейчас отображаются модально?

Например, после вызова:

[self presentControllerWithNames:names contexts:contexts];

Я не думаю, что есть способ перезагрузить представленные страницы, или я ошибаюсь?


person ggould75    schedule 20.01.2015    source источник


Ответы (3)


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

person lvp    schedule 21.01.2015

Это может помочь вам, когда вы используете постраничную навигацию в watchkit, все страницы загружаются перед запуском. И когда пользователь прокручивает страницу, вы можете делать обновления в последнюю минуту с помощью метода «willActivate».

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

person jastrada    schedule 20.02.2015

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

Это можно исправить, сохранив содержимое для обновления в пользовательских настройках по умолчанию или в классе singleton и т. д.

Сначала init/awakeWithContext передает контексты всему интерфейсу страницы. Когда интерфейс отображается при прокрутке, вызывается willActivate. Здесь обновите контекст для интерфейса из сохраненных данных.

person Amit    schedule 10.09.2015