Ninguna de estas soluciones funciona en el iPad, pero se me ocurrió una solución que cubre ambos dispositivos:
Con celdas reutilizables:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:identifier];
...[other code]...
[cell setLayoutMargins:UIEdgeInsetsZero];
[cell setSeparatorInset:UIEdgeInsetsZero];
return cell;
}
Con celdas no reutilizables:
- (void)removeSeparatorInset:(UITableView*)tableView{
NSArray *cells = [tableView visibleCells];
for (UITableViewCell *cell in cells){
[cell setLayoutMargins:UIEdgeInsetsZero];
[cell setSeparatorInset:UIEdgeInsetsZero];
}
}
-(void) viewDidLayoutSubviews{
[super viewDidLayoutSubviews];
[self removeSeparatorInset:self.tableView];
}
Solo para ampliar este enfoque:
@property(nonatomic) UIEdgeInsets separatorInset;
@property(nonatomic) UIEdgeInsets layoutMargins;
Ambas propiedades pueden ser utilizadas por UITableView& UITableViewCell. Este último es, de hecho, una propiedad de UIView, que es una clase padre de ambos UITableView& UITableViewCell.
UITableViewTiene una propiedadseparatorInset. Establezca la inserción delUITableViewseparador de línea en cero. También puede cambiar elseparatorInsetdesde el guión gráfico