我正在通过编程设置UITableView。我希望单元格的内容跨越整个屏幕宽度。我已经成功地将单元格设置为跨越屏幕宽度,但是内容和分隔符仍然有很大的缩进(iPad 截图如下所示)。
以下是在我的视图控制器实现中设置表格视图布局:
单元格背景是蓝色的,并且它横跨整个屏幕。 我的屏幕截图中紫色区域是 contentView,你可以看到,它不会延伸到屏幕右侧,而单元格文本在左侧缩进。 分隔符也在左右两侧缩进。
以下是在我的视图控制器实现中设置表格视图布局:
- (void) viewDidLoad {
[super viewDidLoad];
// table layout
self.tableView.rowHeight = 192;
UILayoutGuide *margins = [self.view layoutMarginsGuide];
[self.tableView.leadingAnchor constraintEqualToAnchor:margins.leadingAnchor] ;
[self.tableView.trailingAnchor constraintEqualToAnchor:margins.trailingAnchor];
self.tableView.contentInset = UIEdgeInsetsMake(0, 0, 0, 0);
CGRect tableRect = self.view.frame;
self.tableView.frame = tableRect;
// table colors
self.tableView.backgroundColor = [UIColor grayColor];
self.tableView.separatorColor = [UIColor grayColor];
UIView *backView = [[UIView alloc] init];
[backView setBackgroundColor:[UIColor grayColor]];
[self.tableView setBackgroundView:backView];
}
然后我设置单元格的内容:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell* cell = [super tableView:tableView cellForRowAtIndexPath:indexPath];
cell.backgroundColor = [UIColor blueColor];
cell.indentationWidth = 0;
cell.indentationLevel = 0;
cell.layoutMargins = UIEdgeInsetsMake(0, 0, 0, 0);
cell.contentView.backgroundColor = [UIColor purpleColor];
return cell;
}
单元格背景是蓝色的,并且它横跨整个屏幕。 我的屏幕截图中紫色区域是 contentView,你可以看到,它不会延伸到屏幕右侧,而单元格文本在左侧缩进。 分隔符也在左右两侧缩进。