Monday, January 23, 2017

Uitableviewcell Show Disclosure Indicator Forex

Ich muss die Farbe des disclosureIndicatorView-Zubehörs in einem UITableViewCell ändern. Ich denke, es gibt zwei Möglichkeiten, um dies getan, aber Im nicht in der Lage, herauszufinden, welche die optimale. Also hier ist, was ich denke, ich kann tun. Es gibt eine Eigenschaft von UITableViewCell - accessoryView. So kann ich setAccessoryView: (UIView) Ansicht und Pass Ansicht als UIImageView halten das Bild, das ich will. Ich habe eine Utility-Klasse, die die Inhaltsansicht (Sachen wie Hintergrundfarbe, Hinzufügen anderer Sachen, etc.) für meine Zelle erstellt, und ich füge diese Ansicht der Zelle in UITableViewDelegate hinzu. Die andere Möglichkeit besteht darin, ein UIImage zu zeichnen, das die drawRect-Methode der CustomContentView-Dienstprogrammklasse überschreibt. Ausführen Option 1 - Ich kann die Dinge getan den Apfel Weg. Geben Sie ihnen die Ansicht und sie tun den Rest. Aber ich denke, das Hinzufügen eines neuen UIView-Objekts zu jeder Zeile könnte sich als eine schwere Objektzuweisung und Verringerung der Framerate. Im Vergleich zu nur ein UIImage-Objekt in meinem contentView. Ich glaube, UIImage ist leichter als UIView. Bitte werfen Sie einige leichte Menschen und helfen Sie mir darüber entscheiden. Wenn Sie Interesse an der Zeichnung der Indikator, anstatt eine Bilddatei, heres Code Ich arbeitete, um dies zu tun: Wenn Sie eine benutzerdefinierte UIView-Unterklasse machen, tun Sie das oben in der drawRect: - Methode und Verwenden, dass als Zubehör-Ansicht, youll in der Lage sein, um die Farbe alles, was Sie wollen. Ein Zubehörteil Ansicht (benutzerdefinierte oder UIImageView gewohnt ein großes Performance-Problem sein, solange Sie richtig Instanzen UITableViewCell recyceln. Jan beantwortet 4 10 bei 1.53 Können Sie mir sagen, wie CONTROLISHIGHLIGHTED eingestellt werden würde, ich meine, wie funktioniert die Zelle wissen it39s hervorgehoben ndash cannyboy 20. Mai 10 um 17:33 Uhr Wenn you39re Inon eine Tabellenansicht Zelle zeichnen, I39m ziemlich sicher, dass UITableViewCell hat eine markierte Eigenschaft. ndash benzado 22. Mai 10 um 20:01 Uhr I39ve versucht, diesen Code zu verwenden, aber aus irgendeinem Grund, den ich verlieren die scharfen Punkt, wo die beiden Linien schneiden und ein gedämpftes Winkel erhalten, irgendwelche Ideen ndash Anthony Main 20. 10. Oktober um 16:24 Uhr benzados Lösung funktioniert gut, aber es zeigte einen schwarzen Hintergrund. In der UIView Klasse, die Sie Setup (die whos drawRect Funktion Die Sie in seinem Code) muss die folgende initWithFrame-Implementierung haben, damit für die Offenlegung Zeichnung einen transparenten Hintergrund haben: Natürlich können Sie dies auf, was auch immer Sie Farbe einstellen wollen. Geben Sie antworten galambalazs funktioniert, Es ist zu beachten, dass es etwas von einem Hack, wie es indirekt greift und aktualisiert Apples private Implementierung der Offenlegung Indikator. Am besten könnte es aufhören zu arbeiten in Zukunft iOS Releases, und im schlimmsten Fall führen zu App Store Ablehnung. Die Einstellung des Zubehörs ist immer noch die genehmigte Methode, bis Apple eine Eigenschaft zum direkten Einstellen der Farbe aussetzt. Egal, hier ist der Swift Umsetzung seiner Antwort für diejenigen, die es wünschen können: Hinweis: cell. disclosureIndicatorColor eingestellt werden muss, nachdem cell. accessoryType. DisclosureIndicator so eingestellt, dass die disclosureIndicator Taste in den Zellen Subviews verfügbar: beantwortet 6. April 16 Um 14:52 Der Zugriff auf die Ansichtshierarchie wurde von Apple niemals verweigert. It39s normalerweise private APIs (Methoden, Eigenschaften oder Klassen nicht in den Dokumentationen), die Sie busted erhalten. Ndash galambalazs Diese isn39t nur Zugriff auf die Ansicht Hierarchie, it39s Abrufen einer privaten UIButton-Eigenschaft indirekt über die Hierarchie und ändern. Ndash bonebox Apr 14 16 at 17: 43Wenn eine Zelle in einem UITableView zu einer Unteransicht führt, kann es nützlich sein, einen zusätzlichen visuellen Kontext zu haben. Ein Offenlegungsindikator in einem UITableViewCell ist ein kleiner Chevron, der am rechten Rand angezeigt wird, um visuell anzuzeigen, dass er irgendwo führt. Nehmen wir zum Beispiel einen Blick auf die 8220History8221 Ordner in den Mobile Safari Bookmarks: Nifty, rechts Here8217s, wie es geht: 8211 (UITableViewCell) tableview: (UITableView) Tableview cellForRowAtIndexPath: (NSIndexPath) indexPath statische NSString CellIdentifier quotCellquot UITableViewCell Zelle Tableview dequeueReusableCellWithIdentifier: CellIdentifier if (Zelle nil) Zelle UITableViewCell alloc initWithStyle: UITableViewCellStyleDefault reuseIdentifier: CellIdentifier Autorelease beachten sie, dass eine Offenlegung Indikator ist nur für visuellen Kontext es doesn8217t wirklich etwas tun. Sie müssen die Unteransicht noch implementieren, die Sie anzeigen möchten.


No comments:

Post a Comment