我正在尝试使用以下方法设置UITableView
背景:
[self.tableView setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"backgroundImage.png"]]];
这适用于使用表格进行背景滚动。但是,我的背景图像会变成纯色,因此背景重复而不是,我喜欢它只是向上滚动并适合屏幕高度。然后我可以将self.view
的{{1}}设置为纯色,看起来很棒。
其他选项似乎是底部的小图片,但这似乎很复杂,我不太明白如何使用backgroundColor
绘制背景和blit。
有人可以告诉我该怎么做吗?
答案 0 :(得分:0)
我不确定这是否有效,但您应该尝试为背景创建可调整大小的UIImage:
如果你想重复最后一行像素,你可以调用
- (UIImage *)resizableImageWithCapInsets:(UIEdgeInsets)capInsets resizingMode:(UIImageResizingMode)resizingMode
图片上的([UIImage imageNamed:@"backgroundImage.png"]
)
使用edgeinsets:UIEdgeInsetsMake(backgroundImage.size.height-1,0,0,0)
和resizingMode:UIImageResizingModeStretch
完整的通话看起来像
UIImage* backgroundImage = [UIImage imageNamed:@"backgroundImage.png"];
UIImage* newBackgroundImage = [backgroundImage resizableImageWithCapInsets:UIEdgeInsetsMake(backgroundImage.size.height-1,0,0,0) resizingMode:UIImageResizingModeStretch];
现在您可以尝试将此图像用于模式创建:
[self.tableView setBackgroundColor:[UIColor colorWithPatternImage:newBackgroundImage]];
答案 1 :(得分:0)
这对我有用:
UIImageView* bgImageView = [[UIImageView alloc] initWithFrame:self.tableView.frame];
bgImageView.image = [UIImage imageNamed:@"bg"];
bgImageView.contentMode = UIViewContentModeTop;
[self.tableView addSubview:bgImageView];
[self.tableView sendSubviewToBack:bgImageView];
就我而言,它运作良好。我没有用很多可重复使用的细胞进行测试。但它应该有效:D