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]];

Это способ, которым я пользуюсь.

Наслаждайся!

Другие вопросы по тегам