IOS7 UITableView在Settings App中分组

时间:2013-09-25 22:34:06

标签: ios7 indentation uitableview

在IOS7中,当使用style = groups时,UITableView不再有缩进。如何启用缩进,以便UITableView的行为类似于apple的设置应用程序?

3 个答案:

答案 0 :(得分:16)

实现这一目标的方法要简单得多。

  1. 将UITableView远离两侧。例如:使用Autolayout,你的前导和尾随空间为15px(或任何你想要的)。 您现在正在创建“缩进”,Apple过去通过分组表格视图免费提供。

  2. 调整图层以添加边角和边框。

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

    (我无法发布结果图片,因为我还没有足够的声誉)

答案 1 :(得分:1)

如果您仍在寻找解决方案,那么答案就在这里,

http://i-phone-dev.blogspot.no/2014/04/keep-ios-6-uitableview-styles-in-ios-7.html

答案 2 :(得分:0)

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的边距。