2

我正在尝试制作一个表格视图控制器,其中的单元格在所有方面都有一个小的边距,并覆盖一个背景图像。我发现的谷歌教程不包括为整个视图制作背景和使单个单元格有边距。

这是 Scoutmob 的一个粗略示例,说明了我想要实现的目标:

Scoutmob 最近的设计主题之一

4

3 回答 3

5

最好的方法可能是调整 UITableViewCellcontentView和insidebackgroundView的大小。selectedBackgroundViewlayoutSubviews

例如:

- (void)layoutSubviews {

    [super layoutSubviews];

    const CGRect insetRect            = CGRectInset( self.bounds, 10, 10 );

    self.contentView.frame            = insetRect;
    self.backgroundView.frame         = insetRect;
    self.selectedBackgroundView.frame = insetRect;
}

如果要使用图像背景,请将 设置backgroundView为 UIImageView。

使用此方法可以让您支持旋转,以及重新排序和删除控件以及 UITableView 对其单元格所做的所有其他事情(不要忘记将您的子视图添加到单元格contentView而不是直接添加到其视图)。

于 2013-05-26T04:53:08.813 回答
1

这是您正在寻找的工作示例。单元格之间的边距和覆盖图像。它使用自定义表格视图单元格并放置带有边距的子视图。它有基于 Storyboard 和 Xib 文件的示例项目

https://github.com/Seitk/FB-Gallery

于 2013-05-26T04:18:22.750 回答
0

使用以下代码设置背景视图:

tableView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"BackgroundImage.png"]];

至于单元格之间的“空间”,只需制作一个新UIView的作为容器。然后,将较小的内容作为子视图插入到视图的中间。然后,适当设置表格视图单元格的高度,并将容器视图添加为子视图。效果将是您在问题中发布的“相框”类型的外观。

或者,您可以将每个单元格添加到其自己的部分中的表格视图中,这将产生类似的效果。

于 2013-05-26T04:00:52.317 回答