我有一个定制的UITableViewCell
. 这些有以下问题:
- 删除按钮太靠右了,与我的背景重叠。我想设置一个插图,让它向左移动一点,然后看起来很棒。
蓝色突出显示的状态跨越整个屏幕宽度,我希望它只是设置在我的弯曲单元格背景的范围内。
有没有办法解决这两个问题?谢谢。
编辑:我的代码如下设置背景(只是一个自定义方法):
- (UIImage *)cellBackgroundForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSInteger rowCount = [self tableView:[self tableView] numberOfRowsInSection:0];
NSInteger rowIndex = indexPath.row;
UIImage *background = nil;
if (rowIndex == 0) {
background = [UIImage imageNamed:@"cell_top.png"];
} else if (rowIndex == rowCount - 1) {
background = [UIImage imageNamed:@"cell_bottom.png"];
} else {
background = [UIImage imageNamed:@"cell_middle.png"];
}
return background;
}
然后我在一个 void 方法中调用此方法,该reloadTable
方法只获取每个单元格并在行更新后对其进行更新(添加或删除一行,因为表有 3 个不同的图像)。在我的 fetched results 控制器从 Core Data 获取我的所有项目并第一次加载表之后,我也会调用它。
编辑2:这是该reloadTable
方法的代码:
- (void)refreshTable
{
for (NSInteger j = 0; j < [self.tableView numberOfSections]; ++j)
{
for (NSInteger i = 0; i < [self.tableView numberOfRowsInSection:j]; ++i)
{
UIImage *background = [self cellBackgroundForRowAtIndexPath:[NSIndexPath indexPathForRow:i inSection:j]];
UIImageView *cellBackgroundView = [[UIImageView alloc] initWithImage:background];
cellBackgroundView.image = background;
UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:i inSection:j]];
cell.backgroundView = cellBackgroundView;
}
}
}
问题是:我不知道如何设置表格视图或表格视图单元格的边距或宽度。我需要子类化一些东西吗?一般是怎么做的?