我目前正在创建自己的自定义节标题,但我从来没有通过代码进行任何文本编辑..而我用来填充自定义标题的新方法正在做一些奇怪的事情,如下面所示
我想将文字更改为白色,稍微大一些,并使白色背景透明..
这是我用来执行此操作的代码
- (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]];
等但不起作用:(
答案 0 :(得分:5)
我想将文字改为白色......
UILabel的textColor属性是你的朋友。
稍微大胆......
没问题! headerLabel.font = [UIFont boldSystemFontOfSize:mySize];
制作白色透明背景。
哇,哇,这是我见过的最糟糕的setter语法!我的主人myLabel.backgroundColor是 getter ,更改:
[headerLabel.backgroundColor:[UIColor clearColor]];
为:
[headerLabel setBackgroundColor:[UIColor clearColor]];
幸运的是,使用您的语法只会向nil发送一条消息,这会将您标签的背景颜色默认为白色。
答案 1 :(得分: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;
}
希望,这会帮助你......冷静
答案 2 :(得分: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:
方法