2015-10-08 15 views
6

nicht fokussieren, also erkunde ich das neue tvOS. Da ich den horizontalen Featurebereich des App Stores replizieren wollte (zB "Best New Apps")Kann UICollectionViewCell innerhalb UITableViewCell

Mein Plan war es, ein UITableView zu verwenden, um die Basisstruktur (Zeilen) zu erstellen und eine UICollectionView für alle zu verwenden einzelne horizontal scrollbare Elemente.

Leider fokussiert das tvOS immer die UITableViewCell, nicht die UICollectionViewCell. Ich habe bereits über die

override var preferredFocusedView: UIView? { 
    return aView 
} 

gelesen, so dass die Verwendung dieser in meinem Controller ist ziemlich schwer in Bezug auf die richtige Subview.

Gibt es irgendwas, in das ich schauen könnte oder könnte mir jemand bitte in die richtige Richtung zeigen? Durch alle Subviews zu iterieren, bis ich die richtige gefunden habe, scheint eine schlechte Idee zu sein.

Vielen Dank!

Antwort

12

Ich habe eine ähnliche Situation ausprobiert, in der ich eine CollectionView innerhalb einer CollectionView hatte, um die beschriebene Konfiguration zu erhalten. Nennen wir sie innerCV und outerCV. Um zu erreichen, dass innerCV fokussiert wird und nicht die Zellen von outerCV, setze ich diese Delegate-Methode so, dass sie false für outerCV zurückgibt.

Im Gegenzug sind die Zellen von innerCV nun fokussierbar, im Gegensatz zu Zellen von outerCV.

Kredit dafür geht an Apple. Ich habe ihr Beispielprojekt als Leitfaden für den Start verwendet. Sieh dir die Fokus-Beispiele in ihrem Projekt an.

Sample Project: Apple tvOS UIKitCatalog

+1

Hey Richard, vielen Dank für Ihre Hilfe. Ich habe das schon ausprobiert und leider hat das bei meinem Setup nicht funktioniert, was mich wirklich denken ließ, dass ich da oben etwas durcheinander gebracht habe. Ich denke, ich werde einfach ein Basisprojekt aufstellen und es testen. – rdesign

+0

Dank Richard, dieses Problem wird von Apple auf dem Beispielprojekt gelöst. – jpincheira

+0

@jpincheira Was ist das Problem? –

1

verwendete ich einen anderen Ansatz ..

die Tableview selection Eigenschaft auf No Selection in Storyboard Einstellung des Fokus-Engine macht anstatt UITableViewCell auf UICollectionViewCell Zelle zu konzentrieren.

Hoffe, es hilft :)

Image

Verwandte Themen