Может ли кто-нибудь сказать мне имя UIColor или точное RGBA для разделителя UITableView iPhone по умолчанию?
Похоже на светло-серый цвет, но это не [UIColor lightGrayColor]
; он легче этого.
Может ли кто-нибудь сказать мне имя UIColor или точное RGBA для разделителя UITableView iPhone по умолчанию?
Похоже на светло-серый цвет, но это не [UIColor lightGrayColor]
; он легче этого.
... в терминах CGContextSetRGBStrokeColor
он должен быть:
CGContextSetRGBStrokeColor (
CGContextRef c,
224.0/255.0,
224.0/255.0,
224.0/255.0,
CGFloat alpha
);
Довольно простое и, надеюсь, решение вашей проблемы.
Цвет не гарантированно соответствует определенному цвету. Его можно изменить по версиям ОС и 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().separatorColor
Как @Jordan отметил в комментарии, вы также можете сохранить результат, чтобы избежать дальнейших затрат на оценку.
let defaultTableSeparatorColor = UITableView().separatorColor
Кажется, он изменился для 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];
[UIColor colorWithRed:224/255.0 green:224/255.0 blue:224/255.0 alpha:1.0];
Чтобы узнать какие-либо цвета на устройстве iOS, просто запустите приложение в Симуляторе, затем используйте Apple DigitalColor Meter (в папке ваших утилит) и наведите указатель мыши на цвет, в котором вы нуждаетесь. Или просто сделайте захват экрана с телефона, откройте это в Preview и используйте DigitalColor Meter для чтения значений цвета.
R: 224 G: 224 B: 224
Я надеюсь, что это поможет!
Swift 3
Просто установите значение nil, чтобы вернуться к умолчанию.
tableView.separatorColor = nil
FWIW:
UIColor *defaultSeparatorColor = [UIColor colorWithRed:0.783922f green:0.783922f blue:0.8f alpha:1.0f];
Было обнаружено симуляция iOS 9.0 - и выведение значений с плавающей запятой, которые по умолчанию имеет UITableView separatorColor. Я не считаю, что это соответствует любому из значений из других ответов, а точнее результат кода в другом ответе здесь, где separatorColor задается путем создания UITableView * tempTable.
В Swift 3.0.1 вы можете сделать что-то вроде этого
yourView.backgroundColor = UITableView().separatorColor
UITableView * tempTable = [[UITableView alloc] init];
[table setSeparatorColor:tempTable.separatorColor];
[table setSeparatorStyle:tempTable.separatorStyle];
table.backgroundView = tempTable.backgroundView;
Screenshot -> Photoshop -> Pick Color Tool -> RGB(227, 227, 229)