Я думаю, что эта страница поможет вам достичь того, чего вы хотите. https://developer.apple.com/library/content/documentation/General/Conceptual/AppleTV_PG/WorkingwiththeAppleTVRemote.html#//apple_ref/doc/uid/TP40015241-CH5-SW4
Он дает хорошее объяснение того, как двигатель фокусировки решит, какой объект должен получить следующий фокус. Ниже большой шаг объяснение шагом на above link.
Ниже приведен пример, показывающий, как фокусировка может быть определена:
- Упор двигатель просит корневое окно для его preferredFocusedView, который возвращает preferredFocusedView его корень зрения контроллера объект.
- Контроллер корневого представления, контроллер представления табуляции, возвращает свой предпочтительный объект управления объективом выбора вида .
- Контроллер режима просмотра переопределяет свой предпочтительный метод FocusedView, чтобы вернуть конкретный экземпляр UIButton.
- Экземпляр UIButton возвращает self (по умолчанию) и является настраиваемым, поэтому он выбирается движком фокусировки в качестве следующего сфокусированного вида.
Вы должны переопределить свойство preferredFoucsedView вашего UIView или UIViewController.
override weak var preferredFocusedView: UIView? {
if someCondition {
return theViewYouWant
} else {
return defaultView
}
}
Благодаря Slayter's ответ
Что вы подразумеваете под фокусом? – Lion
Фокус означает в приложении tv os, когда фокус перемещается, тогда вы можете нажать на кнопку. –
Лучше вы можете использовать взаимодействие ячейки просмотра коллекции. –