lionheart / openradar-mirror

A mirror of radars pulled from http://openradar.me/.
244 stars 17 forks source link

25428691: Menu button dismisses modal view controller or pops view controllers from navigation stacks #7877

Open openradar-mirror opened 8 years ago

openradar-mirror commented 8 years ago

Description

Summary: In tvOS 9.2, in a view controller that subclasses GCEventViewController and sets controllerUserInteractionEnabled to false, setting a closure for the controllerPausedHandler on a GCController causes the UI to 'navigate back'. According to all documentation and prior versions of tvOS this is not desired behaviour. With the controllerUserInteractionEnabled property set to false, the controller events should not be propagated to the responder chain and should not trigger UIKit actions such as dismissing modal view controllers or navigating back on a navigation stack.

Steps to Reproduce:

  1. Connect an MFi game controller to an Apple TV running tvOS 9.2
  2. Present a modal view controller that subclasses GCEventViewController
  3. Set it's controllerUserInteractionEnabled to false
  4. Set a controllerPausedHandler closure
  5. Press the menu/pause button on the controller

Expected Results: The closure set as the controllerPausedHandler should be executed and it's enclosed code should execute. There should be no back action, no dismissal of modally presented view controllers etc.

Actual Results: The closure is executed, but the modal view controller is also dismissed.

Version: tvOS 9.2, Xcode 7.3

Notes: This undesirable behaviour also happens when using the Siri Remote in place of a game controller.

Configuration: Apple TV, with a wireless MFi controller connected

Attachments: 'MenuButtonTest.zip' was successfully uploaded. (http://d.pr/f/1gDgs)

Product Version: 9.2 Created: 2016-03-30T00:05:39.379220 Originated: 2016-03-30T01:03:00 Open Radar Link: http://www.openradar.me/25428691

openradar-mirror commented 8 years ago

Modified: 2016-03-30T00:05:39.379490