UIView фоновый цвет белый
У меня есть следующий код в моем контроллере табличного представления. Возвращает пользовательское представление для заголовков разделов в таблице.
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
UIView *header = [[UIView alloc] initWithFrame:CGRectMake(0, 0, tableView.bounds.size.width, 30)];
if (tableView == contentTable && section == 0) {
// When I set backgroundColor to [UIColor redColor] it works. Otherwise white.
[header setBackgroundColor:[UIColor colorWithRed:10.f green:12.f blue:88.f alpha:1.f]];
} else {
[header setBackgroundColor:[UIColor clearColor]];
}
return header;
}
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
if (tableView == contentTable && section == 0) {
return 30;
}
return 0;
}
Теперь этот код работает нормально, но возвращается белый цвет. Если я когда-нибудь установлю backgroundColor
в [UIColor redColor]
например, он станет красным. Однако, если я установлю пользовательское значение RGB, оно останется белым. Я использовал значения RGB из фотошопа.
3 ответа
Решение
Значения RGB являются числами с плавающей точкой, диапазон которых должен быть между 0.0f
а также 1.0f
, Если вы хотите конвертировать из 0-255 значений, разделите каждое значение на 255.0f
,
[header setBackgroundColor:[UIColor colorWithRed:10.0f/255.0 green:12.0f/255.0 blue:88.0f/255.0 alpha:1.f]];
Если вы хотите использовать значения цвета из Photoshop, вы можете использовать как
[UIColor colorWithRed:10.f/255.0f green:12.f/255.0f blue:88.f/255.0f alpha:1.0f]];
Это способ, которым я пользуюсь.
Наслаждайся!