2015-10-08 2 views
6

alors j'explore le nouveau système tvOS. Comme je voulais reproduire la section caractéristique horizontale de l'App Store (par exemple "Best New Apps")Impossible de concentrer UICollectionViewCell dans UITableViewCell

Mon plan était d'utiliser un UITableView pour disposer la structure de base (lignes) et utiliser un UICollectionView pour tous les éléments individuels à défilement horizontal.

Malheureusement, le tvOS met toujours en évidence l'UITableViewCell, pas le UICollectionViewCell à l'intérieur. J'ai déjà lu à propos de la

override var preferredFocusedView: UIView? { 
    return aView 
} 

Donc, en utilisant cela à l'intérieur de mon contrôleur est un peu difficile d'obtenir la sous-vue correcte.

Y a-t-il quelque chose que je pourrais examiner ou est-ce que quelqu'un pourrait me diriger dans la bonne direction? Itérer à travers toutes les sous-vues jusqu'à ce que je reçois le correct semble être une mauvaise idée.

Merci beaucoup!

Répondre

12

J'ai essayé une situation similaire où j'ai eu une CollectionView dans une CollectionView pour obtenir l'installation que vous avez décrite. Appelons-les innerCV et outerCV. Pour que innerCV soit focalisé et non pour les cellules de outerCV, je mets cette méthode de délégué à retourner false pour outerCV.

- (BOOL)collectionView:(UICollectionView *)collectionView canFocusItemAtIndexPath:(NSIndexPath *)indexPath { 
    return NO; 
} 

À leur tour, les cellules de innerCV sont maintenant focalisables par opposition aux cellules de la cellule externe.

Crédit pour cela va à Apple. J'ai utilisé leur exemple de projet comme un guide pour commencer. Découvrez les échantillons Focus dans leur projet.

Sample Project: Apple tvOS UIKitCatalog

+1

Hey Richard, merci beaucoup pour votre aide. J'ai déjà essayé cela et malheureusement cela n'a pas fonctionné pour ma configuration, ce qui m'a vraiment fait penser que j'aurais peut-être bousillé quelque chose là-haut. Je pense que je vais juste mettre un projet de base à nouveau un test. – rdesign

+0

Merci Richard, ce problème est résolu par Apple sur le projet exemple. – jpincheira

+0

@jpincheira Quelle est alors la solution? –

1

J'ai utilisé une approche différente ..

Réglage de la tableview selection propriété à No Selection en story-board rend le moteur de mise au point de se concentrer sur la cellule UICollectionViewCell plutôt que UITableViewCell.

Hope it helps :)

Image