0

我目前正在创建自己的自定义部分标题,但我从来没有通过代码编辑任何文本。我用来填充自定义标题的新方法正在做一些奇怪的事情,如下在此处输入图像描述所示

我想将文本更改为白色并稍微加粗,并使白色背景透明..

这是我用来执行此操作的代码

- (UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section 
{
    UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, tableView.bounds.size.width, 30)];
    [headerView setBackgroundColor:[UIColor grayColor]];

    // Add the label
    UILabel *headerLabel = [[UILabel alloc] initWithFrame:CGRectMake(0.0, 0.5, 20, 20)];

    // do whatever headerLabel configuration you want here


    headerLabel.text = [self tableView:tableView titleForHeaderInSection:section];
    [headerView addSubview:headerLabel];

    // Return the headerView
    return headerView;
}

我试过这个

[headerLabel.backgroundColor:[UIColor clearColor]];

等,但它不工作:(

4

3 回答 3

5

我想把文字改成白色...

UILabel 的 textColor 属性是你的朋友。

并且稍微大胆一点...

没问题! headerLabel.font = [UIFont boldSystemFontOfSize:mySize];

并制作白色透明背景。

哇,哇,这是我见过的最糟糕的二传手语法!!!我的主, myLabel.backgroundColor 是一个getter,更改:

[headerLabel.backgroundColor:[UIColor clearColor]];

到:

[headerLabel setBackgroundColor:[UIColor clearColor]];

幸运的是,使用您的语法只会向 nil 发送一条消息,这会将标签的背景颜色默认为白色。

于 2012-04-16T05:05:58.290 回答
2

使用以下代码...

-(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{

UILabel *headername = [[UILabel alloc]initWithFrame:CGRectMake(20, 5, 270, 34)];
headername.backgroundColor = [UIColor clearColor];
headername.textColor = [UIColor blackColor];
if(section == 0)
{
    headername.text = @"Name that u wish";
}

else
{
    headername.text = @"Name that u wish";
}
UIView *headerView = [[UIView alloc] init];
UIImageView *tempimage = [[UIImageView alloc]initWithFrame:CGRectMake(10, 5, 300,34)];
tempimage.image = [UIImage imageNamed:@"whitebackground.png"];

[headerView addSubview:tempimage];
[headerView addSubview:headername];

return  headerView;
}

希望,这会帮助你......冷静

于 2012-04-16T05:09:18.090 回答
0

我为在表中获取自定义标题所做的一切如下,它对我来说工作正常

UIView *containerView =
    [[[UIView alloc]
        initWithFrame:CGRectMake(0, 0, 300, 60)]
    autorelease];
UILabel *headerLabel =
    [[[UILabel alloc]
        initWithFrame:CGRectMake(10, 20, 300, 40)]
    autorelease];
headerLabel.text = NSLocalizedString(@"Header for the table", @"");
headerLabel.textColor = [UIColor whiteColor];
headerLabel.shadowColor = [UIColor blackColor];
headerLabel.shadowOffset = CGSizeMake(0, 1);
headerLabel.font = [UIFont boldSystemFontOfSize:22];
headerLabel.backgroundColor = [UIColor clearColor];
[containerView addSubview:headerLabel];
self.tableView.tableHeaderView = containerView;

我只是把它放在viewDidLoad:方法中

于 2012-04-16T05:10:29.577 回答