0

我的表视图控制器中有以下代码。它返回表中节标题的自定义视图。

- (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 值,它将保持白色。我使用了 Photoshop 中的 RGB 值。

4

3 回答 3

3

RGB 值是浮点数,其范围必须介于0.0f和之间1.0f。如果要从 0-255 值转换,请将每个值除以255.0f.

于 2013-04-09T10:21:36.343 回答
0
[header setBackgroundColor:[UIColor colorWithRed:10.0f/255.0 green:12.0f/255.0 blue:88.0f/255.0 alpha:1.f]];
于 2013-04-09T10:22:54.563 回答
0

如果要使用 Photoshop 中的颜色值,可以使用类似

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

这是我使用的方式。

玩的开心!

于 2013-04-09T12:06:45.303 回答