带有滚动背景图案的 UITableView

Posted

技术标签:

【中文标题】带有滚动背景图案的 UITableView【英文标题】:UITableView with scrolling background pattern 【发布时间】:2013-04-05 16:15:25 【问题描述】:

我有一个 UITableView,其 backgroundColor 属性设置如下:

tableview.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"IMAGE"]];

这为 tableview 提供了一个背景,可以滚动,这正是我想要的。

问题是,当我向tableview 添加单元格时,在每个单元格中tableview 的背景图案开始 / 重新开始:

在上图中,您可以在红色圆圈区域看到问题。

对于tableview 单元格,我已将所有backgroundColors 设置为clearColor

背景视图 文本标签 详细的文本标签 内容视图

我也试过设置

cell.backgroundView = [UIView new];
cell.backgroundView.backgroundColor = [UIColor clearColor];

contentView 也是如此。

补充说明: 设置 tableview 的 backgroundView 没有帮助,因为那时背景不再滚动了!

【问题讨论】:

【参考方案1】:

刚遇到这个问题,发现这修复了单元格拥有自己的背景颜色副本

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath 
    [cell setBackgroundColor:[UIColor clearColor]];

【讨论】:

【参考方案2】:

我会这样做:

1) 创建一个视图控制器并将视图背景颜色设置为您的图案图像。

2) 将您的表视图控制器作为子视图控制器添加到新创建的视图控制器中。这可以在代码中完成,或者如果您使用的是 ios 6 和故事板,则可以使用嵌入 segue。如果您在代码中执行此操作,则可能需要手动设置表格视图控制器的框架。

3) 将表格视图控制器的背景颜色设置为 [UIColor clearColor]

我遇到了类似的问题,这对我有用。

【讨论】:

当 tableview 滚动时,背景图案滚动对我来说很重要。用这种方法就不行了!

以上是关于带有滚动背景图案的 UITableView的主要内容,如果未能解决你的问题,请参考以下文章

带有左+右大写和中间图案的 UIButton

带有滚动背景的粘性标题

具有 100% 宽度的 CSS 背景图像和动画滚动直到图像完成

带有标题背景的滚动html表格

使用 CSS 使用视差效果滚动

如何修改 Sliverappbar 以便在向上滚动时可以看到带有 FlexibleSpaceBar 的背景图像?