iOS 8 UITableView separator inset 0 not working

前端 未结 30 1447
清酒与你
清酒与你 2020-11-22 14:38

I have an app where the UITableView\'s separator inset is set to custom values - Right 0, Left 0. This works perfectly in iOS 7.

30条回答
  •  清酒与你
    2020-11-22 15:07

    Most answers are showing separator insets and layout margins being set over a variety of methods (i.e., viewDidLayoutSubviews, willDisplayCell, etc) for cells and tableviews, but I've found that just putting these in cellForRowAtIndexPath works great. Seems like the cleanest way.

    // kill insets for iOS 8
    if ([[UIDevice currentDevice].systemVersion floatValue] >= 8) {
        cell.preservesSuperviewLayoutMargins = NO;
        [cell setLayoutMargins:UIEdgeInsetsZero];
    }
    // iOS 7 and later
    if ([cell respondsToSelector:@selector(setSeparatorInset:)])
        [cell setSeparatorInset:UIEdgeInsetsZero];
    

提交回复
热议问题