我有一个带有许多部分(不是行)的UITableView。我想在中心的每个部分之间添加UIImageView作为分隔符(除了最后一个单元格)。 细胞之间的空间是30
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
return 30;
}
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
UIView *headerView = [[UIView alloc] init];
headerView.backgroundColor = [UIColor clearColor];
return headerView;
}
我想在屏幕截图中设置位置。
[self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone];
细胞高度为81。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
//Some code
UIImageView *separatorIView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 96, 196, 2)];
[separatorIView setImage:[UIImage imageNamed:@"grayline.png"]];
[cell.contentView addSubview:separatorIView];
return cell;
}
如果我设置y坐标<那么细胞高度。 提前致谢。
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
return 30;
}
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
UIView *headerView = [[UIView alloc] init];
headerView.backgroundColor = [UIColor clearColor];
if (section > 0) {
UIImageView *img = [[UIImageView alloc] initWithFrame:CGRectMake(62, 14, 196, 2)];
[img setImage:[UIImage imageNamed:@"grayline.png"]];
[headerView addSubview:img];
}
return headerView;
}
答案 0 :(得分:1)
在设置头视图高度时,可以在标题中添加分隔符。 Table View有一个名为“viewForHeaderInSection”的委托方法。
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
UIImageView *img = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 320, 5)];
[img setImage:[UIImage imageNamed:@"grayline.png"]];
return img;
}
如果在此委托方法中设置分隔符图像,则无需在cellForRowAtIndexPath中执行任何操作。 如果有帮助,请告诉我......:)
修改强>
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
return 5;
}
`
答案 1 :(得分:1)
自定义分隔符位置是不可能的,因为它们是专门为其框架定义的,除此之外,如果您需要这种效果,那么您必须在标题中添加图像,如自定义空间和颜色,需要视图只有你可以获得理想的观点
答案 2 :(得分:0)
您可以使用setSeparator颜色设置分隔符颜色,您可以在其中传递图像
等
[self.tableView setSeparatorColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"grayline.png"]]];
答案 3 :(得分:0)
尝试将最后一个标题的高度设为零,看看它是否有效。
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
if(make_cndition_for_lastsection)
return 0;
else
return 30;
}