2016-06-30 1 views
0

Actuellement, je transfère mon jeu Ios vers AppleTV mais pour une raison inconnue, je n'ai pas réussi à tirer sur les coins de la télécommande Siri pour travailler dans mon jeu.Impossible d'imiter Corner Taps de Siri remote dans mon interface utilisateur pour Apple TV

J'ai un CustomViewController dans mon fichier Xib et j'ai créé 2 boutons dans la vue comme une collection de Outlet essentiellement comme suit:

@property (retain, nonatomic) IBOutletCollection(UIButton) NSArray *Button; 

Mais quand je tape coins gauche et droite de la siri à distance l'accent est mis ne changeant pas à la place, il a pris par défaut le premier bouton en tant que focusfocus préféré. Idéalement, je voudrais qu'il change la mise au point lorsque je tape sur les coins de la surface tactile.

J'ai créé un exemple d'application mais ici, à la place des fichiers Xib, j'ai utilisé StoryBoards et la théorie ci-dessus a fonctionné comme prévu avec exactement la même procédure. Comme vous pouvez le voir dans ces images exactement ce que j'ai fait jusqu'à présent. Quelqu'un peut-il m'expliquer ce que je fais mal s'il vous plait? et pourquoi les robinets ne fonctionnent que pour StoryBoards et non pour les fichiers Xib.

Répondre

0

Okay J'ai trouvé la solution à mon problème, Ici, le problème était avec les fichiers Xib et essayait d'utiliser l'api focus de siri pour les robinets haut, bas, gauche et droit (pas de balayage). Peu importe combien j'ai essayé de le pirater pour les rendre fonctionnels, le résultat final n'était rien.

J'ai donc déplacé toutes les fonctionnalités de mon Xib sur StoryBoard et voilà! tout a commencé à fonctionner. Donc, pour autant que je sache, et d'après mes recherches, nous devrions utiliser Storyboards pour obtenir toutes les fonctionnalités de TvOS incluant Siri Remote. Voici ce que j'ai fait dans mon interface Builder enter image description here

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:[NSBundle mainBundle]]; 
    _viewController =[storyboard instantiateInitialViewController];