Ich versuche, 6 Zeilen High Description Label zu implementieren und ich möchte es fokussierbar sein. Idealerweise würde das bedeuten, die UILabel-Klasse zu erweitern, um eine benutzerdefinierte Komponente zu erstellen. Ich versuchte das, indem ich canBecomeFocused
und implementiere, aber mein UILabel scheint keinen Fokus zu bekommen.Make UILabel fokussierbar und tappable (tvOS)
Ich habe auch versucht, UILabel mit UIButton zu ersetzen, aber Tasten sind nicht wirklich für diese Art von Sache optimiert. Das würde auch bedeuten, dass ich buttonType
im Fokus von benutzerdefiniert zu plain ändern müsste. Und buttonType scheint eine Ready-only-Eigenschaft zu sein.
In Wirklichkeit würde ich gerne genau dasselbe Text-Label von Apple in Apple TV Movies App implementiert haben. Für Filmbeschreibungen haben sie eine Textbeschriftung, die ein paar Zeilen Text und ein "mehr" anzeigt. Wenn es fokussiert wird, sieht es aus wie eine Schaltfläche (Schatten herum) und ändert die Hintergrundfarbe. Wenn Sie darauf tippen, öffnet sich ein modales Fenster mit der gesamten Filmbeschreibung.
Irgendwelche Vorschläge? Oder hat jemand dieses benutzerdefinierte Steuerelement bereits für tvOS implementiert? Oder besser - es gibt eine Komponente von Apple, die das tut und mir etwas fehlt.
PS: Swift Lösung wäre :)
Danke für diese Antwort, ich habe es ein wenig für mein Projekt geändert. https://gist.github.com/Cedrick84/8922a0af730c39c05794 – Cedrick
Hat sich in letzter Zeit etwas mit tvOS geändert, dass dies nicht funktionieren würde? Ich kann immer noch keinen TextView bekommen, um den Fokus zu bekommen, egal was ich versuche. Ich bin beide Routen durch kernelpanic und @Cedrick gegangen. –
Ja, ich habe etwas Ähnliches für UIImageView erstellt und konnte es fokussieren (obwohl es nicht in einer Tabelle oder einer Collectionview ist), aber ich konnte die TextView nicht zum Laufen bringen. Keine Ahnung warum gerade jetzt wie ich alles oben erwähnte gemacht habe – c0d3Junk13