我有一个MyTableViewController,它是UITableViewController
的子类。我没有.xib
。我想从MyTableViewController设置一个UIImage
作为tableView的背景。
我尝试添加ViewDidLoad
:self.tableView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"background_img"]];
但是id没有用。覆盖的img看起来像这样:
做:
UIImageView *bgImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"background_img"]];
bgImageView.frame = self.view.bounds;
[self.view addSubview:bgImageView];
[self.view sendSubviewToBack:bgImageView];
它看起来像这样:
我怎么能这样做?
答案 0 :(得分:2)
您可以按照以下方式执行此操作:
在viewDidLoad
中的tableView中设置背景图像:
UIImageView *bgImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:<image>]];
bgImageView.frame = <tableView>.frame;
[<tableView> setBackgroundView:bgImageView];
然后在tableView:willDisplayCell:forRowAtIndexPath:
:
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
cell.backgroundColor = [UIColor clearColor];
}
答案 1 :(得分:-1)
您需要使表格视图背景透明:
self.tableView.backgroundColor = [UIColor clearColor];
self.tableView.opaque = NO;
然后设置视图的背景:
self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"background_img"]];
设置背景图片的更好方法是:
UIImageView *bgImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"background_img"]];
bgImageView.frame = self.view.bounds;
[self.view addSubview:bgImageView];
[self.view sendSubviewToBack:bgImageView];