我想省略两个表格视图单元格之间的分隔线。但是,我得到的不是没有分隔符,而是一条高度为 1 像素的分隔线,它只是留空,或者说完全透明。
如何告诉 uitableview 如何将下一个单元格直接附加到上面的单元格(没有任何间隙)?
我想省略两个表格视图单元格之间的分隔线。但是,我得到的不是没有分隔符,而是一条高度为 1 像素的分隔线,它只是留空,或者说完全透明。
如何告诉 uitableview 如何将下一个单元格直接附加到上面的单元格(没有任何间隙)?
好的,找到我的答案并分享它,以防它帮助他人。
我按程序设置了所有单元格,因此我通过以下方式关闭了分隔符
m_tableView setSeparatorColor:[UIColor colorWithRed:0.0f green:0.0f blue:0.0f alpha:0.0f]]
接下来我通过设置分隔符样式
m_tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
虽然我不得不承认这似乎没有做任何事情,这可能是一个红人。
对我来说,我发现调用了 cellForRowAtIndexPath 来配置单元格,我必须将背景图像的高度扩展 1 个像素以消除线条(我也为此使用了可拉伸的图像,这也可能使自己变得奇怪+1 要求)。我不是任意 +1 的粉丝,但这似乎可以解决问题......
frameBackground.size.height += 1;
因此,虽然不支持 +1,但上述步骤对我的列表视图有效,现在不再有分隔符。
我无法摆脱分隔符,所以我最终决定在 UIScrollView 之上编写自己的 tableview。而“分隔符”还在!事实证明,UILabel 中存在一个错误,如果您设置背景颜色,有时会导致它沿顶部边缘绘制一条细线。修复方法是在图层上设置背景: label.layer.backgroundColor = color.CGColor;
我发现我的标题设置为 1,删除了这个解决了我的问题(我在奇数单元格分隔符中有额外的 1 个像素)我更改为 0,生活似乎更好
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
return 0;
}