In iOS-Apps werden Daten immer wieder in tabellarischer Form angezeigt, wozu gerne die UITableView genutzt wird. Um dem Anwender klar zu machen, dass sich hinter einem Eintrag noch mehr Infos verbergen, wird ein Accessory View genutzt. Dieser View kann unterschiedliche Symbole beinhalten, wie folgt :

  • Detail (runder Kreis mit einem i)
  • Checkmark (ein Haken)
  • Detail Disclosure (ein runder Kreis mit einem i und ein Pfeil nach rechts)
  • Disclosure Indicator (nur ein Pfeil nach rechts)

Der Disclosure Indicator hat eine Standardfarbe, die von Xcode vorgegeben wird. Diese Farbe ist aber nicht immer passend, womit der Pfeil nicht mehr sichtbar ist. Um den Pfeil dem Design anzupassen, gibt es zwei Möglichkeiten.

1. Möglichkeit

Für den Disclosure Indicator wird jeweils ein Bild hinterlegt, welches zum Design passend ist. Dieses Bild kann über die folgende Zeile aufgerufen und angezeigt werden :

Anstatt des Standardpfeils wird nun das angegebene Bild accessory.png angezeigt. Nachteil dieser Variante, es muss für jede neue Farbe ein eigenes Bild mit in der App hinterlegt werden. Dieses ist nicht sehr schonend für die Ressourcen und auch sehr unübersichtlich.

2. Möglichkeit

Nun zeige ich Ihnen, wie Sie den Disclosure Indicator selber zeichnen können in unterschiedlichen Farben. Dazu erstellen Sie einfach die beiden folgenden Dateien :

Mit dieser kleinen Klasse wird der neue Disclosure Indicator gezeichnet. Dieses passiert in der Funktion drawRect. Über den Befehl CGContextAddLineToPoint wird der Pfeil über die Angaben der X und Y Koordinaten entsprechend gezeichnet. Mit der Funktion initWithColor, wird die View erzeugt und die Farbe für den Pfeil übergeben. Der Aufruf um einen Pfeil entsprechend zu zeichnen erfolgt in der UITableView Delegate Methode cellForRowAtIndexPath :

Damit können Sie nun in jeder UITableViewCell einen Disclosure Indicator in jeder passenden Farbe zu Ihrem Design zeichnen. Hier ein Beispiel :

Das Bild des Disclosure Indicator entspricht dem obenstehenden Beispiel :Disclosure Indicator.

Wenn Sie noch andere Ideen haben oder Ihnen der Beitrag gefallen hat, freue ich mich über ein Kommentar.