Skip to content

Instantly share code, notes, and snippets.

@pronebird
Created June 10, 2016 10:04
Show Gist options
  • Save pronebird/8125e368245d617e0bdc5b1285ce8b95 to your computer and use it in GitHub Desktop.
Save pronebird/8125e368245d617e0bdc5b1285ce8b95 to your computer and use it in GitHub Desktop.
Default cell layout margins
@implementation UITableViewCell (CellLayoutMargins)
+ (UIEdgeInsets)defaultCellLayoutMargins {
static NSDictionary *constants;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
NSMutableDictionary *sizeDictionary = [[NSMutableDictionary alloc] init];
// regular sizes
sizeDictionary[UIContentSizeCategoryExtraSmall] = [NSValue valueWithUIEdgeInsets:UIEdgeInsetsMake(9, 15, 9, 15)];
sizeDictionary[UIContentSizeCategorySmall] = [NSValue valueWithUIEdgeInsets:UIEdgeInsetsMake(9, 15, 9, 15)];
sizeDictionary[UIContentSizeCategoryMedium] = [NSValue valueWithUIEdgeInsets:UIEdgeInsetsMake(10, 15, 10, 15)];
sizeDictionary[UIContentSizeCategoryLarge] = [NSValue valueWithUIEdgeInsets:UIEdgeInsetsMake(11, 15, 11, 15)];
sizeDictionary[UIContentSizeCategoryExtraLarge] = [NSValue valueWithUIEdgeInsets:UIEdgeInsetsMake(12, 15, 12, 15)];
sizeDictionary[UIContentSizeCategoryExtraExtraLarge] = [NSValue valueWithUIEdgeInsets:UIEdgeInsetsMake(13, 15, 13, 15)];
sizeDictionary[UIContentSizeCategoryExtraExtraExtraLarge] = [NSValue valueWithUIEdgeInsets:UIEdgeInsetsMake(14, 15, 14, 15)];
// accessibility sizes
sizeDictionary[UIContentSizeCategoryAccessibilityMedium] = [NSValue valueWithUIEdgeInsets:UIEdgeInsetsMake(17, 15, 17, 15)];
sizeDictionary[UIContentSizeCategoryAccessibilityLarge] = [NSValue valueWithUIEdgeInsets:UIEdgeInsetsMake(20, 15, 20, 15)];
sizeDictionary[UIContentSizeCategoryAccessibilityExtraLarge] = [NSValue valueWithUIEdgeInsets:UIEdgeInsetsMake(24, 15, 24, 15)];
sizeDictionary[UIContentSizeCategoryAccessibilityExtraExtraLarge] = [NSValue valueWithUIEdgeInsets:UIEdgeInsetsMake(29, 15, 29, 15)];
sizeDictionary[UIContentSizeCategoryAccessibilityExtraExtraExtraLarge] = [NSValue valueWithUIEdgeInsets:UIEdgeInsetsMake(32, 15, 32, 15)];
constants = [sizeDictionary copy];
});
NSString *sizeCategory = [[UIApplication sharedApplication] preferredContentSizeCategory];
return [[constants objectForKey:sizeCategory] UIEdgeInsetsValue];
}
@end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment