UITableView 怎样改变每个section的header的背景
1个回答
展开全部
在这里改每个section header的设置
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
if ([[self.states objectAtIndex:section] count] > 0){
// create the parent view that will hold header Label
//UIView* customView = [[UIView alloc] initWithFrame:CGRectMake(10.0, 0.0, 320, 20)];
UIImageView *image= [[UIImageView alloc] initWithFrame:CGRectMake(10.0, 0.0, 320, 20)];
image.backgroundColor=[UIColor redColor];
//image.image=[UIImage imageNamed:@"call.png"];
//[customView addSubview:image];
//customView.backgroundColor=[UIColor redColor];
// create the button object
UILabel * headerLabel = [[UILabel alloc] initWithFrame:CGRectZero];
headerLabel.backgroundColor = [UIColor clearColor];
headerLabel.opaque = NO;
headerLabel.textColor = [UIColor blackColor];
//headerLabel.highlightedTextColor = [UIColor redColor];
headerLabel.font = [UIFont boldSystemFontOfSize:20];
headerLabel.frame = CGRectMake(10.0, 0.0, 300.0, 44.0);
// If you want to align the header text as centered
// headerLabel.frame = CGRectMake(150.0, 0.0, 300.0, 44.0);
headerLabel.text = [[[UILocalizedIndexedCollation currentCollation] sectionTitles] objectAtIndex:section];
//headerLabel.text =[temp objectAtIndex:5];// i.e. array element
//[customView addSubview:headerLabel];
[image addSubview:headerLabel];
//return customView;
return image;
}
else{
return nil;
}
}
在这里修改index-list(右侧)的背景,但是好像字体不能改,只能改背景
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
//other setting
for(UIView *view in [tableView subviews])
{
if([[[view class] description] isEqualToString:@"UITableViewIndex"])
{
[view setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"HomePage.png"]]];
[view setFont:[UIFont systemFontOfSize:14]];
}
}
return cell;
}
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
if ([[self.states objectAtIndex:section] count] > 0){
// create the parent view that will hold header Label
//UIView* customView = [[UIView alloc] initWithFrame:CGRectMake(10.0, 0.0, 320, 20)];
UIImageView *image= [[UIImageView alloc] initWithFrame:CGRectMake(10.0, 0.0, 320, 20)];
image.backgroundColor=[UIColor redColor];
//image.image=[UIImage imageNamed:@"call.png"];
//[customView addSubview:image];
//customView.backgroundColor=[UIColor redColor];
// create the button object
UILabel * headerLabel = [[UILabel alloc] initWithFrame:CGRectZero];
headerLabel.backgroundColor = [UIColor clearColor];
headerLabel.opaque = NO;
headerLabel.textColor = [UIColor blackColor];
//headerLabel.highlightedTextColor = [UIColor redColor];
headerLabel.font = [UIFont boldSystemFontOfSize:20];
headerLabel.frame = CGRectMake(10.0, 0.0, 300.0, 44.0);
// If you want to align the header text as centered
// headerLabel.frame = CGRectMake(150.0, 0.0, 300.0, 44.0);
headerLabel.text = [[[UILocalizedIndexedCollation currentCollation] sectionTitles] objectAtIndex:section];
//headerLabel.text =[temp objectAtIndex:5];// i.e. array element
//[customView addSubview:headerLabel];
[image addSubview:headerLabel];
//return customView;
return image;
}
else{
return nil;
}
}
在这里修改index-list(右侧)的背景,但是好像字体不能改,只能改背景
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
//other setting
for(UIView *view in [tableView subviews])
{
if([[[view class] description] isEqualToString:@"UITableViewIndex"])
{
[view setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"HomePage.png"]]];
[view setFont:[UIFont systemFontOfSize:14]];
}
}
return cell;
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询