Wie wird der Standard-Trennzeichen-Stil von UITableView iOS7 nachgebildet?

7

Ich habe ein benutzerdefiniertes UITableViewCell, in dem ich ein vertikales Trennzeichen zeichnen möchte, ähnlich den standardmäßigen horizontalen in iOS7. Derzeit verwende ich diesen Code, wenn ich die Zelle konfiguriere:

%Vor%

Wie im Bild zu sehen ist, wird das Standardtrennzeichen auf 1 Pixel Höhe gerendert, während meins zwei Pixel breit wird. Ich habe versucht, die Breite auf 0,5 Punkte zu setzen, aber dann wird die Linie überhaupt nicht gerendert.

Auch die Farbe ist aus, offensichtlich nicht lightGrayColor . Gibt es eine Farbkonstante in UIColor , die übereinstimmt? Bearbeiten: Die Farbe ist RGB 207,207,210, die nicht in UIColor.h aufgeführt scheint.

    
pojo 20.11.2013, 08:50
quelle

3 Antworten

16

Ihr Problem liegt darin, dass die Ansicht eine Breite von 2 Pixel auf der Retina hat, wenn die Breite auf 1 Pixel eingestellt ist. Was ich vorschlagen würde ist, eine Unterklasse von UIView zu erstellen, nennen wir es CustomDivider und in -layoutSubviews werden Sie so etwas tun:

%Vor%

Das obige Code-Snippet prüft, welche Dimension (Breite oder Höhe) kleiner oder gleich 1 ist und passt die Größe abhängig von der Bildschirmauflösung an. Auch dieser Code funktioniert mit automatischem Layout (getestet).

Dieser Ansatz funktioniert von IB und von Code.

    
danypata 20.11.2013, 09:18
quelle
6

Wie @danypata funktionierte die Unterklasse gut, aber meine Situation bestand darin, existierenden Code schnell und einfach zu reparieren. Alternativ,

%Vor%

dann direkt auf die Linienansicht anwenden.

%Vor%

das Ergebnis kam nicht viel anders als standardmäßig UITableView's Trennzeichen.

    
Yoon Lee 23.01.2015 23:13
quelle
0

Wenn Sie benutzerdefinierte UITableViewCells verwenden, können Sie dies über ihre .xib tun. Fügen Sie einfach ein UIView mit der gewünschten Farbe hinzu, machen Sie es zu einem Pixel und positionieren Sie es an der gewünschten Position. Keine Notwendigkeit, es programmgesteuert zu machen.

In Ihrem Code-Snippet sollten Sie diese Zeile hinzufügen:

%Vor%     
Nikos M. 20.11.2013 08:53
quelle

Tags und Links