ioswatchkitwkinterfacecontrollerwkinterfacemenu

WKInterfaceMenu sets model InterfaceController as root InterfaceController


When bringing up a menu from a modal WKInterfaceController presented from the rootController via presentControllerWithName:context:, the modal controller becomes the root controller:

enter image description here <— Modal (see Cancel)

enter image description here <— Menu

enter image description here <— Root? (no Cancel)

Is this a WatchKit bug, or are modal controllers not meant to have menus?

"Solution"

Since this is a known bug, my temporary workaround was just to add a Cancel button to the modal controller and use reloadRootControllersWithNames:contexts: to present them as root. The Cancel button reloads the root controller to my initial root controller.


Solution

  • This is a known bug that is present in WatchKit/iOS 8.2 and 8.3. The issue occurs when you present a modal interface that then presents another modal interface on top (like the Force Touch menu).

    You can find a (nasty) workaround here: Apple Watch: Status bar not visible after presenting a modal screen from page based navigation