web-dev-qa-db-de.com

Was ist die UIColor des Standard-Separators UITableView?

Kann mir jemand den UIColor-Namen oder den genauen RGBA-Wert für das Standard-UITableView-Trennzeichen für iPhone mitteilen?

Es sieht aus wie eine hellgraue Farbe, aber es ist nicht [UIColor lightGrayColor]; es ist leichter als das.

37
Alejandra

… In Bezug auf CGContextSetRGBStrokeColor sollte es sein:

CGContextSetRGBStrokeColor (
   CGContextRef c,
   224.0/255.0,
   224.0/255.0,
   224.0/255.0,
   CGFloat alpha
);

Ganz einfach und hoffentlich eine Lösung für Ihr Problem.

37
Dude

Es wird nicht garantiert, dass die Farbe eine bestimmte Farbe ist. Sie kann über Betriebssystem- und SDK-Versionen geändert werden. __ Sie können die genaue Farbe dynamisch abrufen, indem Sie auf die Eigenschaft separatorColor zugreifen.

UITableView* TV = [[UITableView alloc] init];
UIColor* C = [TV separatorColor];
CGColorRef CGC = [C CGColor];

Jetzt können Sie die einzelnen Kanalwerte über die Methoden von UIColor abrufen. Oder verwenden Sie die CGColor direkt zum Zeichnen.

Hier der Kommentar der Header-Datei der Eigenschaft in UITableView.h.

@property(nonatomic,retain) UIColor *separatorColor;
// default is the standard separator gray

Wenn Sie die Instantiierungskosten von UITableView für jedes Mal vermeiden möchten, holen Sie es einfach einmal ab und speichern Sie es im Cache.


Wie @Isuru im Kommentar erwähnt, können Sie in Swift so schreiben.

UITableView().separ‌​atorColor

Wie @Jordan im Kommentar angegeben ist, können Sie das Ergebnis auch speichern, um weitere Bewertungskosten zu vermeiden.

let defaultTableSeparato‌​rColor = UITableView().separa‌​torColor
64
Eonil

Es scheint, dass es sich für iOS 7 geändert hat:

Jetzt ist die Farbe RGB (200, 199, 204):

[UIColor colorWithRed:200/255.0 green:199/255.0 blue:204/255.0 alpha:1.0];

Vergessen Sie nicht, dass die richtige Zeilenhöhe 1 px beträgt. Der Code zum Erstellen der entsprechenden UIView:

UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 640, 1/[[UIScreen mainScreen] scale])];
view.backgroundColor = [UIColor colorWithRed:200/255.0 green:199/255.0 blue:204/255.0 alpha:1.0];
25
alexey
[UIColor colorWithRed:224/255.0 green:224/255.0 blue:224/255.0 alpha:1.0];
18
ddiego

Swift 3

Setzen Sie einfach Null, um zur Standardeinstellung zurückzukehren.

tableView.separatorColor = nil
12
Luke Stanyer

Um Farben auf Ihrem iOS-Gerät herauszufinden, führen Sie einfach die App im Simulator aus, verwenden Sie dann das DigitalColor-Meter von Apple (in Ihrem Ordner "Utilities") und bewegen Sie den Mauszeiger über die gewünschte Farbe. Alternativ nehmen Sie einfach einen Bildschirm vom Telefon, öffnen Sie das in der Vorschau und verwenden Sie DigitalColor Meter, um die Farbwerte abzulesen.

6
amergin

R: 224 G: 224 B: 224

Ich hoffe das hilft!

5
AndrewPK

In Swift 3.0.1 können Sie so etwas tun

yourView.backgroundColor = UITableView().separ‌​atorColor
3
Pankaj Gaikar

FWIW: 

UIColor *defaultSeparatorColor = [UIColor colorWithRed:0.783922f green:0.783922f blue:0.8f alpha:1.0f];

Dies wurde gefunden, als simulierte iOS 9.0 - und die Fließkommawerte, die eine UITableView separatorColor standardmäßig hat, abgemeldet. Ich finde nicht, dass dies mit den Werten der anderen Antworten übereinstimmt, sondern bestimmt das Ergebnis des Codes in der anderen Antwort hier, wo die separatorColor durch Erstellen einer UITableView * tempTable festgelegt wird.

2
humbolight

Screenshot -> Photoshop -> Pick Color Tool -> RGB(227, 227, 229)

1
nefarianblack
UITableView * tempTable = [[UITableView alloc] init];

[table setSeparatorColor:tempTable.separatorColor];
[table setSeparatorStyle:tempTable.separatorStyle];
table.backgroundView = tempTable.backgroundView;
0
Phagcartorn