0

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.

Patrick Perini
  • 22,555
  • 12
  • 59
  • 88

1 Answers1

2

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

Community
  • 1
  • 1
Mike Swanson
  • 3,337
  • 1
  • 17
  • 15
  • Might very well just forgo modal presentation entirely, and provide my own `Cancel` button right from the start. – Patrick Perini May 07 '15 at 20:20
  • Most of the developers I've talked to have decided to simply add their own `Cancel` button for now. It's strange to have two identical buttons, but it's one of the only reasonable workarounds at the moment. – Mike Swanson May 07 '15 at 21:04