有没有办法为单个UITableViewCell设置分隔符插入?看来我只能用setSeparatorInset:
方法设置全局UITableView分隔符,但是我希望在同一个UITableView中有不同的insets。有可能吗?
我尝试使用tableView:willDisplayCell:forRowAtIndexPath:
在具体的UITableViewCell中设置分隔符插入,如下所示,但它不起作用。
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
...
[cell setSeparatorInset:UIEdgeInsetsMake(0, 50, 0, 0)];
}
我正在开发iOS7。
答案 0 :(得分:1)
如果你知道单元格indexPath
。您可以使用
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
...
if (indexPath.row == 0) {
// Customize here
[cell setSeparatorInset:UIEdgeInsetsMake(0, 50, 0, 0)];
} else {
[cell setSeparatorInset:UIEdgeInsetsMake(0, 0, 0, 0)];
}
}
如果没有,您应该继承UITableView
并在那里自定义分隔符插入。然后将其加载到tableview中。请勿在{{1}}方法和separatorInset
中设置cellForRowAtIndexPath:
属性。
答案 1 :(得分:0)
您可以使用自定义单元格来完成此操作。
您将UITableView
设置为根本不显示分隔符(separatorStyle = UITableViewCellSeparatorStyleNone
),并让UITableViewCell
子类处理分隔符的绘制。最简单的方法是在每个单元格上有一个“分隔符视图”。现在,在cellForRowAtIndexPath
中配置单元格时,您可以设置您喜欢的任何内容。