Apple TV - Как изменить фокус только при нажатии кнопки "Меню"

Я работаю над простой настольной игрой. У меня есть кнопки в левом столбце, такие как "Новая игра", "Настройки" и т. Д.(Назовем это "Вид меню"). Остальная часть экрана представляет собой "Board View" с текущим состоянием игры.

Можно ли справиться, когда пользователь нажимает кнопку "Меню" на пульте дистанционного управления Apple TV, просто чтобы перейти от "Представления платы" к моему "Представлению меню" вместо закрытия моего приложения? У меня есть и "Вид меню", и "Вид платы" в одном контроллере, может быть, мне нужно настроить иерархию контроллеров?

Спасибо за помощь!

2 ответа

Решение

В конце концов я заметил переопределение pressesEnded не отменяет нажатия кнопки Меню в первый раз после запуска приложения. С помощью UITapGestureRecognizer с другой стороны делает:

    let menuTapGestureRegocnizer = UITapGestureRecognizer(target: self, action: "menuTapped")
    menuTapGestureRegocnizer.allowedPressTypes = [UIPressType.Menu.rawValue]
    view.addGestureRecognizer(menuTapGestureRegocnizer)

Вы можете переопределить метод pressesEnded и запускать навигационные сегменты вручную

override func pressesEnded(presses: Set<UIPress>, withEvent event: UIPressesEvent?) {
    for press in presses {
        if(press.type == UIPressType.Menu) {
           // Do what you want
           // ...
        } else {
            super.pressesEnded(presses, withEvent: event)
        }

    }
}
Другие вопросы по тегам