1

我试图让单元格文本与表格视图的左侧完全齐平。我尝试设置 tableView.contentInset = UIEdgeInsetsMake(-4,-8,0,0),它适用于滚动视图,但使用 tableView,内容仍然显示在右侧一点。

有谁知道我需要使内容与表格视图的侧面齐平的确切数字,或者可能是一种不同的方式来做到这一点?

这就是我的意思(蓝色字母如何向右偏离):

在此处输入图像描述

(^这是默认的contentInset)

4

2 回答 2

0

对我来说,最好的方法是创建一个实例 UILabel 变量,然后在你的 cellForRow:AtIndexPath: 方法中初始化 UILabel。

您可以将框架定义为您喜欢的任何内容。给它一个标签号。

准备好后,将 UILabel 作为子视图添加到 cell.contentView。

// .h file
@interface MyClass
{
    UILabel *lblCellText;
}

// .m file
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSString *cellID = @"cellID";

    UITableViewCell *cell = [tableView dequeReusableCellWithID:cellID];

    if(cell == nil)
    {
        cell = [[UITableViewCell alloc] initWithStyle.....];

        // ------------------------------------
        // initialise your UILabel here
        // ------------------------------------
        lblCellText = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, tableView.frame.size.width, tableView.rowHeight)];
        lblCellText.tag = 1;

        [cell.contentView addSubview:lblCellText];

        [lblCellText release];
    }

    // find your UILabel from the pool of dequed UITableViewCells
    lblCellText = (UILabel *)[cell.contentView viewWithTag:1];

    lblCellText.text = "New playlist";


    return cell;
}
于 2012-11-07T04:30:09.327 回答
0

更改表格视图的 contentInset 不是正确的方法。单元格已经到了表格的边缘。您可以通过设置单元格的背景颜色来验证这一点。默认情况下,单元格textLabel设置为距离边缘稍远。您应该尝试调整单元格的框架textLabel。最好的地方很可能是tableView:willDisplayCell:forRowAtIndexPath:委托方法。

另一个选项是自定义表格视图单元格,它将文本放置在单元格中您想要的位置,而不依赖于更改默认设置。

于 2012-11-06T21:26:19.963 回答