Simen Øian Gjermundsen Simen Øian Gjermundsen -4 years ago 208
Objective-C Question

How can I force focus to change to a specific view in tvOS?

I am implementing custom code to handle a click on the Menu button on the Siri Remote.
How can I force focus to change to my custom menu when pressing the menu button?

Answer Source

Finally figured it out myself. You have to override the preferredFoucsedView property of your UIView or UIViewController.

In swift it goes like this:

func myClickHandler() {
    someCondition = true
    someCondition = false

override weak var preferredFocusedView: UIView? {
    if someCondition {
        return theViewYouWant
    } else {
        return defaultView

I can't quite remember how to override getters in Objective-C so if someone want to post that I'll edit the answer.

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download