I have a question about UITableView... I have a UITableViewController and I created a custom cell. When I visualize the tableView I see a little white space before the separator line as you can see into this screenshot:
Why? It is a default visualize? Can I change something to remove this white left padding?
The leading whitespace is provided by default in iOS 7, even for custom cells.
Checkout this property separatorInset
of UITableviewCell to remove/add white spacing at either ends of cell's line separator.
// Remove white space
cell.separatorInset = UIEdgeInsetsZero;
Alternatively, at UITableView level, you can use this property -
if ([tableView respondsToSelector:@selector(setSeparatorInset:)]) { // Safety check for below iOS 7 [tableView setSeparatorInset:UIEdgeInsetsZero]; }
-(void)viewDidLayoutSubviews { if ([self.tableView respondsToSelector:@selector(setSeparatorInset:)]) { [self.tableView setSeparatorInset:UIEdgeInsetsZero]; } if ([self.tableView respondsToSelector:@selector(setLayoutMargins:)]) { [self.tableView setLayoutMargins:UIEdgeInsetsZero]; } } -(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath { if ([cell respondsToSelector:@selector(setSeparatorInset:)]) { [cell setSeparatorInset:UIEdgeInsetsZero]; } if ([cell respondsToSelector:@selector(setLayoutMargins:)]) { [cell setLayoutMargins:UIEdgeInsetsZero]; } }
Alternatively, you can also edit this in interface builder (IB):
This has the same effect as @Ashok's answer, but doesn't require writing any code.
Update Works on iOS 7 and 8
Update Works on iOS 9
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With