我试图让单元格文本与表格视图的左侧完全齐平。我尝试设置 tableView.contentInset = UIEdgeInsetsMake(-4,-8,0,0),它适用于滚动视图,但使用 tableView,内容仍然显示在右侧一点。
有谁知道我需要使内容与表格视图的侧面齐平的确切数字,或者可能是一种不同的方式来做到这一点?
这就是我的意思(蓝色字母如何向右偏离):
(^这是默认的contentInset)
我试图让单元格文本与表格视图的左侧完全齐平。我尝试设置 tableView.contentInset = UIEdgeInsetsMake(-4,-8,0,0),它适用于滚动视图,但使用 tableView,内容仍然显示在右侧一点。
有谁知道我需要使内容与表格视图的侧面齐平的确切数字,或者可能是一种不同的方式来做到这一点?
这就是我的意思(蓝色字母如何向右偏离):
(^这是默认的contentInset)
对我来说,最好的方法是创建一个实例 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;
}
更改表格视图的 contentInset 不是正确的方法。单元格已经到了表格的边缘。您可以通过设置单元格的背景颜色来验证这一点。默认情况下,单元格textLabel
设置为距离边缘稍远。您应该尝试调整单元格的框架textLabel
。最好的地方很可能是tableView:willDisplayCell:forRowAtIndexPath:
委托方法。
另一个选项是自定义表格视图单元格,它将文本放置在单元格中您想要的位置,而不依赖于更改默认设置。