Siri Remote's Menu Button not exiting application when UIButton is focused

262 Views Asked by At

I'm overriding pressesBegan to receive Select presses. The Siri Remote's Menu Button does not exit my application when the focus is on a UIButton. If no UI element is focused the Menu Button works as expected.

How do I receive Menu Button presses when the focus is on a UIButton?

override func pressesBegan(presses: Set<UIPress>, withEvent event: UIPressesEvent?) {
    for item in presses {
        if item.type == .Select {
            print("Click")
        }
        if item.type == .Menu {
            print("Menu Button")
            super.pressesBegan(presses, withEvent: event)
        }
    }
}
1

There are 1 best solutions below

2
On BEST ANSWER

UIButton only responds to the .Select button on the remote. You can catch the menu button using a tap gesture recognizer. For example:

let tapRecognizer = UITapGestureRecognizer(target: self, action: #selector(ClassName.menuPressed()))
tapRecognizer.allowedPressTypes = [NSNumber(integer: UIPressType.Menu.rawValue)];
view.addGestureRecognizer(tapRecognizer)

Then implement:

func menuPressed() {
    // do something
}