Jessica Jessica - 1 year ago 122
Objective-C Question

Remove separator line for only one cell

I'm trying to remove the separator for one

. I did the following:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
UITableViewCell *cell;
cell = [super tableView:tableView cellForRowAtIndexPath:indexPath];

if (indexPath.row == 1)
cell.separatorInset = UIEdgeInsetsZero;

return cell;

static cells
.) When I run the app. The separator line is still there. How can I remove the separator line for one

Answer Source

On iOS 8 you need to use:

cell.layoutMargins = UIEdgeInsetsZero

If you want to be compatible with iOS 7 as well you should do following:

if ([cell respondsToSelector:@selector(setSeparatorInset:)]) {
    [cell setSeparatorInset:UIEdgeInsetsZero];

if ([cell respondsToSelector:@selector(setLayoutMargins:)]) {
    [cell setLayoutMargins:UIEdgeInsetsZero];

ADD: If previous didn't work - use this. (from answer below)

 cell.separatorInset = UIEdgeInsetsMake(0, 1000, 0, 0);
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download