您好我是ios开发的新手。我正在开发一个我正在使用UITableView
的应用程序。
Tableview
包含一些带分隔线的单元格,而其他单元格则没有分隔线。
请问任何人可以告诉我如何删除特定单元格的分隔线?
cell.separatorInset = UIEdgeInsetsMake(0, 0, 0, cell.bounds.size.width);
以上代码适用于iOS 7
。我怎样才能在iOS6
中实现这一目标?
任何帮助表示赞赏
答案 0 :(得分:4)
您只需添加一个UIView
,其背景颜色与您希望分隔线位于UITableViewCell
布局顶部相同,使其高度为一个像素(它将与一行),其宽度与单元格宽度相同(cell.frame.size.width)。在cellForRowAtIndexPath
之后,只需将此hidden
属性设置为YES
,即表示您不想显示该单元格,hidden
= {{1}对于你想要的人。这是一个简单的解决方案,适用于任何iOS版本。但是,如果要添加自定义分隔符,请不要忘记为所有tableview禁用默认分隔符
答案 1 :(得分:0)
为了只有具有分隔符的特定单元格,您必须为这些单元格绘制分隔线。在我的视图中,将分隔符样式设置为none,然后为所需单元格绘制自定义分隔符。
您可以关注this link for custom separators 基本上你需要做的是添加一个自定义视图,如下所示:
UIView* separatorLineView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 1)];/// change size as you need.
separatorLineView.backgroundColor = [UIColor grayColor];// you can also put image here
[cell.contentView addSubview:separatorLineView];
将分隔符样式设置为none:
tableView.separatorStyle=UITableViewCellSeparatorStyleNone
答案 2 :(得分:0)
如果您尝试为此更改separatorLine的颜色。但有一点是,如果你想将相邻的单元格作为单个单元格,那么这将不是正确的方法。因为这只会改变UI。
更好的方法是调整单元格的大小,以便获得“单个cellClick事件”。
您可以使用委托: -
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath;