WKInterfaceMenu устанавливает модель InterfaceController в качестве корневого InterfaceController
При вызове меню из модального WKInterfaceController
представлены из rootController
с помощью presentControllerWithName:context:
модальный контроллер становится корневым контроллером:
<- модальный (см. Cancel
)
<- Меню
<- Корень? (нет Cancel
)
Это ошибка WatchKit или модальные контроллеры не должны иметь меню?
"Решение"
Так как это известная ошибка, мой временный обходной путь был просто добавить Cancel
кнопку модального контроллера и использовать reloadRootControllersWithNames:contexts:
представить их как root. Cancel
Кнопка перезагружает корневой контроллер в мой начальный корневой контроллер.
1 ответ
Это известная ошибка, которая присутствует в WatchKit/iOS 8.2 и 8.3. Эта проблема возникает, когда вы представляете модальный интерфейс, который затем представляет другой модальный интерфейс сверху (например, меню Force Touch).
Вы можете найти (неприятный) обходной путь здесь: Apple Watch: строка состояния не отображается после представления модального экрана из навигации по страницам