我尝试将分隔符插入设置在右侧。在项目的第一次运行和滚动 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 的几乎所有其他委托(delegate)/数据源方法中,但无济于事。
为了在表格的 headerview 中做插图,我在 viewForHeaderInSection 中添加了两个 UILabel 上下限制帧宽度(标题高度为 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];
我已经在滚动之前和之后放置了图像。
滚动前:
滚动后:
感谢您在这方面的任何帮助。即使在滚动之后,我只需要让表格看起来像第一张图片,即无论如何都要保留右侧的边缘插图。
提前致谢。
Best Answer-推荐答案 strong>
我还注意到该部分的最后一个单元格已扩展到全长,tableview 将在您的自定义部分标题上方绘制一条分隔线。所以要隐藏那个分隔线,你可以添加一个 View 来隐藏这个分隔符。
UIView *hideLineView = [[UIView alloc]initWithFrame:CGRectMake(0, -1, 320, 1)];
hideLineView.backgroundColor = [UIColor whiteColor];
[headerView addSubview:hideLineView];
上面代码中的whiteColor可以设置为你的tableview背景色。
关于ios - 在iOS7中滚动tableview时UITableView分隔符插入更改为默认值,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/25680813/
|