it-roy-ru.com

Каков UIColor разделителя UITableView по умолчанию?

Кто-нибудь может сказать мне имя UIColor или точный RGBA для разделителя UITableView iPhone по умолчанию?

Это выглядит как светло-серый цвет, но это не [UIColor lightGrayColor]; это легче чем это.

37
Alejandra

… С точки зрения CGContextSetRGBStrokeColor это должно быть:

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

Довольно простое и, надеюсь, решение вашей проблемы.

37
Dude

Цвет не обязательно должен быть определенным цветом. Его можно изменить в версиях ОС и SDK.... Точный цвет можно получить динамически, открыв свойство separatorColor.

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

Теперь вы можете получить значения каждого канала с помощью методов UIColor. Или используйте CGColor непосредственно для рисования.

Вот заголовок файла комментария к свойству в UITableView.h.

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

Если вы хотите избежать затрат на создание экземпляра UITableView каждый раз, просто получите его один раз и кэшируйте.


Как отметил @Isuru в комментарии, вы можете написать в Swift следующим образом.

UITableView().separ‌​atorColor

Как @Jordan отмечено в комментарии, вы также можете сохранить результат, чтобы избежать дальнейшей оценки стоимости.

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

Кажется, это изменилось для iOS 7 :

Теперь цвет RGB (200, 199, 204):

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

И не забывайте, что правильная высота строки составляет 1 px. Код для создания соответствующего 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

Просто установите ноль, чтобы вернуться к значению по умолчанию.

tableView.separatorColor = nil
12
Luke Stanyer

Чтобы узнать какие-либо цвета на вашем устройстве iOS, просто запустите приложение в симуляторе, затем используйте Apple DigitalColor Meter (в папке утилит) и наведите курсор мыши на цвет, который вам необходим. В качестве альтернативы просто сделайте снимок экрана с телефона, откройте его в Preview и используйте DigitalColor Meter для считывания значений цвета.

6
amergin

R: 224; G: 224; B: 224.

Надеюсь, это поможет!

5
AndrewPK

В Swift 3.0.1 вы можете сделать что-то вроде этого

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

FWIW: 

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

Это было найдено, имитируя iOS 9.0 - и выходя из системы значений с плавающей запятой, которые по умолчанию имеет UITableView separatorColor. Я не считаю, что это совпадает с какими-либо значениями из других ответов, но точнее приводит к результату кода в другом ответе, где разделитель устанавливается через создание UITableView * tempTable.

2
humbolight

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

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

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