2 alllllllll alllllllll 于 2013.04.02 15:30 提问

设置标题AlignmentCenter

下面的代码是用来设置tableView头标题,默认的text是AlignmentLeft。怎么设置为AlignmentCenter?

- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {
    if(section==0){
        return NSLocalizedString(@"more_titlehead_one", nil);
    }else if (section==1){
        return NSLocalizedString(@"more_titlehead_two", nil);
    }else{
        return NSLocalizedString(@"more_titlehead_three", nil);
    }


}

2个回答

redCoral_
redCoral_   2013.04.02 17:18
已采纳

试试如下:

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
     UILabel * sectionHeader = [[[UILabel alloc] initWithFrame:CGRectZero] autorelease];
     sectionHeader.backgroundColor = [UIColor clearColor];
     sectionHeader.textAlignment = UITextAlignmentCenter;
     sectionHeader.font = [UIFont boldSystemFontOfSize:10];
     sectionHeader.textColor = [UIColor whiteColor];
    if(section == 0)
    {
     sectionHeader.text = @"TITLE ONE";
    }
    else if(section == 1)
    {
     sectionHeader.text = @"TITLE TWO";
    }
    else
    {
     sectionHeader.text = @"TITLE OTHER";
    }
return sectionHeader;
}

设置标题的默认高度:

- (CGFloat)tableView:(UITableView *)tableViewheightForHeaderInSection:(NSInteger)section {
     if(section == 0)
    {
     return 20.0;
    }
    else if(section == 1)
    {
     return 20.0;
    }
    else
    {
     return 20.0;
    }
}
vikeyToy
vikeyToy   2013.04.03 10:06

使用UILabel的Alignment center ,在viewForHeaderInSection

-(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
    UILabel *lbl = [[[UILabel alloc] init] autorelease];
    lbl.textAlignment = UITextAlignmentCenter;
    lbl.backgroundColor=[UIColor clearColor];
    lbl.text = @"Header Title";
    return lbl;
}
Csdn user default icon
上传中...
上传图片
插入图片