自定义部分头uilabel背景和文本

我目前正在创build自己的自定义部分标题,但我从来没有不通过代码编辑任何文本..我用我的新方法来填充我的自定义标题是做一些奇怪的事情,如图所示 在这里输入图像说明 下面

我想改变文字为白色,稍大胆,也使白色背景透明..

这是我用来做这个的代码

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

等但它不工作:(

我想将文字更改为白色…

UILabel的textColor属性是你的朋友在这里。

稍微大胆一点

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

并做一个白色的透明背景。

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

 [headerLabel.backgroundColor:[UIColor clearColor]]; 

至:

 [headerLabel setBackgroundColor:[UIColor clearColor]]; 

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

使用下面的代码…

 -(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; } 

希望这会帮助你…寒意

所有我已经做到了在表中定制标题如下,它对我来说工作正常

 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:方法