В IOS7 UITableView больше не имеет отступов при использовании style = grouped. Как включить отступ, чтобы UITableView вел себя как приложение настроек из apple?
IOS7 UITableView сгруппирован, как в приложении "Настройки"
Ответ 1
Существует гораздо более простой способ достичь этого.
-
Поместите UITableView в сторону от сторон. например: используя Autolayout, у вас будет начальное и конечное пространство 15px (или что бы вы ни хотели). Теперь вы создаете "отступы", которые Apple использовала, чтобы бесплатно предоставить вам сгруппированные представления таблиц.
-
Отрегулируйте слой, чтобы добавить углы и границу.
[[[self tableView] layer] setCornerRadius:5.0f];
[[[self tableView] layer] setBorderWidth:0.5f];
[[[self tableView] layer] setBorderColor:[[UIColor redColor] CGColor]];
(Я не могу опубликовать образ результата, потому что у меня еще недостаточно репутации)
Ответ 2
Ответ находится здесь, если вы все еще ищете решение,
http://i-phone-dev.blogspot.no/2014/04/keep-ios-6-uitableview-styles-in-ios-7.html
Ответ 3
Внутри метода cellForRowAtIndexPath
попробуйте следующее:
CALayer *sublayer = [CALayer layer];
UIImage *img = [UIImage imageNamed:@"blue_box_6dbcef.png"];
sublayer.backgroundColor = [[UIColor alloc] initWithPatternImage:img].CGColor;
sublayer.frame = CGRectMake(10,0,container.frame.size.width-20, 112);
//sublayer.cornerRadius = 5; // For rounded corners
UIView *bgview = [[UIView alloc] init];
bgview.backgroundColor = [UIColor clearColor];
[bgview.layer addSublayer:sublayer];
cell.backgroundView = bgview;
Это добавит поле 10pt с обеих сторон (влево/вправо) ячейки.