White space before separator line into my TableView

后端 未结 8 1975
青春惊慌失措
青春惊慌失措 2020-11-30 19:49

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 separ

8条回答
  •  离开以前
    2020-11-30 20:37

    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];
    }
    

    Update - Below code works on iOS 7 and iOS 8:

    -(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];
        }
    }
    

提交回复
热议问题