Подтвердить что ты не робот

IOS7 UITableView сгруппирован, как в приложении "Настройки"

В IOS7 UITableView больше не имеет отступов при использовании style = grouped. Как включить отступ, чтобы UITableView вел себя как приложение настроек из apple?

4b9b3361

Ответ 1

Существует гораздо более простой способ достичь этого.

  • Поместите UITableView в сторону от сторон. например: используя Autolayout, у вас будет начальное и конечное пространство 15px (или что бы вы ни хотели). Теперь вы создаете "отступы", которые Apple использовала, чтобы бесплатно предоставить вам сгруппированные представления таблиц.

  • Отрегулируйте слой, чтобы добавить углы и границу.

[[[self tableView] layer] setCornerRadius:5.0f];
[[[self tableView] layer] setBorderWidth:0.5f];
[[[self tableView] layer] setBorderColor:[[UIColor redColor] CGColor]];

(Я не могу опубликовать образ результата, потому что у меня еще недостаточно репутации)

Ответ 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 с обеих сторон (влево/вправо) ячейки.