如何将文本放在表头的右侧

时间:2012-01-26 04:27:49

标签: objective-c xcode uitableview

在UITableView中,我们有标题

例如

假设我想按照他们所在的大楼对企业进行分组。

BuildingA 10 业务1 业务2 Business3 Business4

我如何安排以使10位于标题的右侧

2 个答案:

答案 0 :(得分:1)

您可以覆盖tableView:viewForHeaderInSection:添加自己的额外标签,其右侧位于某个位置,例如CGRectMake(280,5,30,20);。您还应该设置它以使文本对齐。

请注意,如果您这样做,您还必须提供左侧标签(因为它不再存在),您也必须覆盖tableView:heightForHeaderInSection:

答案 1 :(得分:1)

因为你可以使用自定义标题单元格,然后在标题中附加该单元格。

实现以下代码。

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    return 5;
}

-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{
    return 2;
}

-(UIView*)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{
    UIView *v=[[[NSBundle mainBundle] loadNibNamed:@"tHeader" owner:self options:nil] objectAtIndex:0];
    [(UILabel*)[v viewWithTag:1] setText:[NSString stringWithFormat:@"%i",section+1]];
    return v;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return (section==0)?5:((section==1)?7:((section==2)?3:4));
}

// Customize the appearance of table view cells.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"Cell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
    }

    cell.textLabel.text=[NSString stringWithFormat:@"       Hello-%i",indexPath.row];

    // Configure the cell.
    return cell;
}

download source from here.