OStack程序员社区-中国程序员成长平台

标题: ios - 在iOS7中滚动tableview时UITableView分隔符插入更改为默认值 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 01:35
标题: ios - 在iOS7中滚动tableview时UITableView分隔符插入更改为默认值

我尝试将分隔符插入设置在右侧。在项目的第一次运行和滚动 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];

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

滚动前: enter image description here

滚动后: enter image description here

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



Best Answer-推荐答案


我还注意到该部分的最后一个单元格已扩展到全长,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/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4