2

我试图在右侧设置分隔符插图。在项目的第一次运行和滚动 tableview 之前,一切看起来都很顺利。但是一旦滚动发生一次,每个部分中最后一行的分隔符插图就会调整大小以占据整个宽度。使用的代码如下: 在viewDidLoad

myTable.separatorColor = [UIColor redColor];
[myTable setSeparatorInset:UIEdgeInsetsMake(0, 0, 0, 40)];

内部cellForRowAtIndexPath

[tableView setSeparatorInset:UIEdgeInsetsMake(0, 0, 0, 40)];
cell.separatorInset = UIEdgeInsetsMake(0, 0, 0, 40);

我尝试将相同的代码放在几乎所有其他委托/数据源方法中,UITableView但无济于事。

为了在表格的 headerview 中做插图,我添加了两个UILabel上下限制的框架宽度viewForHeaderInSection(标题的高度为 40):

UILabel *upperBorder = [[UILabel alloc]initWithFrame:CGRectMake(0, 0, 280.0, 1.0)];
[upperBorder setBackgroundColor:[UIColor blackColor]];
[headerView addSubview:upperBorder];

UILabel *lowerBorder = [[UILabel alloc]initWithFrame:CGRectMake(0, 39.0, 280.0, 1.0)];
[lowerBorder setBackgroundColor:[UIColor blackColor]];
[headerView addSubview:lowerBorder];

我已经在滚动之前和之后放置了图像。

滚动之前: 在此处输入图像描述

滚动后: 在此处输入图像描述

感谢您在这方面的任何帮助。即使在滚动之后,我只需要让表格看起来像第一张图片,即无论如何都保留右侧的边缘插图。提前致谢。

4

1 回答 1

1

我还注意到该部分的最后一个单元格已扩展到全长,tableview 将在您的自定义部分标题上方绘制一条分隔线。因此,要隐藏该分隔线,您可以添加一个视图来隐藏该分隔线。

UIView *hideLineView = [[UIView alloc]initWithFrame:CGRectMake(0, -1, 320, 1)];
hideLineView.backgroundColor = [UIColor whiteColor];
[headerView addSubview:hideLineView];

上面代码中的 whiteColor 可以设置为你的 tableview 背景颜色。

于 2014-09-11T06:16:12.700 回答