2015-09-24 18 views
8

Ho iniziato a sviluppare app per Apple TV e ho questo problema con i pulsanti. Ho uno schermo in cui ci sono diversi pulsanti nella parte inferiore dello schermo e poi ce n'è uno, che si trova nel mezzo (vedi screenshot per capire). Il problema è che non riesco a focalizzare il pulsante centrale. La messa a fuoco è solo sui tre pulsanti in basso. Il problema è ovviamente causato dalla posizione Y, quando si sposta il pulsante nella parte inferiore dello schermo, viene messo a fuoco.UIButton su diverso livello Y non può essere focalizzato su tvOS

I pulsanti vengono creati nello storyboard, non vi è alcun codice in ViewController. Le impostazioni nello storyboard per il pulsante centrale sono uguali alle impostazioni per i pulsanti in basso. Devo gestirlo manualmente in codice? O è persino possibile ottenere movimenti di messa a fuoco come questo? Gradirei qualsiasi informazione, grazie.

1]

io sono ancora in via di sviluppo nel simulatore.

risposta

3

Quindi sono stato guidato da Apple alla soluzione. Richiede una piccola codifica usando UIFocusGuide. Apple ha un sample code per questo.

0

Aggiungere una guida di messa a fuoco per riempire lo spazio mancante.

let focusGuide = UIFocusGuide() 
    view.addLayoutGuide(focusGuide) 

    focusGuide.widthAnchor.constraintEqualToAnchor(buttonThatIsFocused.widthAnchor).active = true 
    focusGuide.leftAnchor.constraintEqualToAnchor(buttonThatIsFocused.leftAnchor).active = true 
    focusGuide.heightAnchor.constraintEqualToAnchor(buttonTryingToFocus).active = true 

    focusGuide.preferredFocusedView = buttonTryingToFocus