2013-04-09 4 views
0

У меня есть следующий код в моем контроллере представления таблицы. Он возвращает пользовательский вид заголовков разделов в таблице.UIView background color white

- (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 изнутри Photoshop.

+0

http://stackoverflow.com/questions/14612638/change-color-of-cell-based-on-value-out-of-array-ios/14612987#14612987 – CRDave

ответ

3

Значения RGB представляют собой поплавки, диапазон которых должен быть между 0.0f и 1.0f. Если вы хотите конвертировать из значений 0-255, разделите каждое значение на 255.0f.

0
[header setBackgroundColor:[UIColor colorWithRed:10.0f/255.0 green:12.0f/255.0 blue:88.0f/255.0 alpha:1.f]]; 
0

Если вы хотите использовать цветовые значения из Photoshop, вы можете использовать как

[UIColor colorWithRed:10.f/255.0f green:12.f/255.0f blue:88.f/255.0f alpha:1.0f]]; 

Это путь я использую.

Наслаждайтесь!