UITableView benutzerdefinierte Kopfzeile (wie FoodSpotting App)

8

Könnte jemand erklären, wie diese App (FoodSpotting) ihren eigenen Abschnittskopf erstellt? Es hat einen durchscheinenden schwarzen Hintergrund, ein Bild des Benutzers und ein paar nette Texte (ohne Zweifel von einem Server geladen). Meine 2 großen Fragen sind hier:

1. Wie bekommt die App die schöne schwarze Transluzenz im Bereich Header?   2. Wie bekommen sie den kleinen dreieckigen Pfeil an die Kopfzeile?

Ich kann anhand der Verwendung einer benutzerdefinierten Ansicht für die Abschnittsüberschrift alles andere herausfinden.

    
Apollo 24.04.2012, 23:49
quelle

2 Antworten

22

Der Abschnitt Header ist ein UIView wie jeder andere auch. Sie können es so schön, so komplex oder so detailliert erstellen, wie Sie möchten, mit dem Interface Builder, wenn Sie möchten, usw. Das tableView:viewForheaderInSection Ihres Tabellendelegaten ist verantwortlich für die Rückgabe, genau wie für andere Zellenzeilen.

>

Was das kleine Dreieck anbetrifft: Ja, das hat uns ein bisschen (wir wollten etwas Ähnliches in unserer App) bis wir entdeckt haben, dass man die Ansicht mit der Reihe überlappen kann, indem man über seine Höhe "lügt": zB tableView:heightForHeaderInSection: gibt einen Wert zurück, der geringfügig kleiner ist als er tatsächlich ist. Mag nicht der "richtige" Weg sein, hat aber sehr gut für uns funktioniert. So:

Also ist die Kopfzeile eigentlich ein perfektes Rechteck, meist unten durchsichtig, mit einem kleinen "spähenden" Dreieck:

Sagen Sie iOS, dass der Header 80px hoch ist, wie folgt:

%Vor%

und es fängt an, die "Essensreihe" bei 80px zu zeichnen. Da die Header oben sind und der größte Teil des Headers bis auf den Pfeil transparent ist, sollten Sie diesen Effekt erhalten.

    
ckhan 24.04.2012, 23:58
quelle
2

Ich habe das gewünschte Ergebnis auf andere Weise erreicht. Anstatt tableView:viewForheaderInSection: zu verwenden (was bei mir nicht funktioniert), habe ich eine Bildansicht hinzugefügt, die das Pfeilbild als Unteransicht der Kopfansicht enthält, und den Rahmen so eingestellt, dass er direkt unter der Kopfzeile liegt:

%Vor%

Wenn Sie genau hinsehen, gibt es in Foodspotting.app zwei Dateien (following-captionbubble-dark.png und [email protected]), die genau wie der oben in der Frage gezeigte Pfeil aussehen. Ich nehme an, sie hätten vielleicht eine ähnliche Technik benutzt. Ein großes Lob an das Foodspotting Team.

    
dyang 04.05.2012 13:16
quelle