我想在UITableView下添加一个UIImageView,使用viewDidLoad
中的以下代码:
self.tableView = ({
UITableView *tableView = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStylePlain];
tableView.translatesAutoresizingMaskIntoConstraints = NO;
tableView.scrollEnabled = NO;
tableView.allowsSelection = NO;
tableView.dataSource = self;
tableView.delegate = self;
tableView.backgroundColor = [UIColor clearColor];
tableView;
});
self.waterMarkImageView = ({
UIImageView *imageView = [UIImageView new];
imageView.translatesAutoresizingMaskIntoConstraints = NO;
imageView.contentMode = UIViewContentModeScaleToFill;
imageView.alpha = 1.0;
imageView.image = [UIImage imageNamed:@"waterMark"];
imageView;
});
[self.view addSubview:self.waterMarkImageView];
[self.view addSubview:self.tableView];
[self.waterMarkImageView mas_makeConstraints:^(MASConstraintMaker *make){
make.right.equalTo(self.view.mas_right);
make.bottom.equalTo(self.view.mas_bottom);
make.width.equalTo(self.view.mas_width);
make.height.equalTo(self.view.mas_height);
}];
[self.tableView mas_makeConstraints:^(MASConstraintMaker *make){
make.top.equalTo(self.view.mas_top).offset(statusBarHeight + navigationBarHeight + labelHeight);
make.left.equalTo(self.view.mas_left);
make.bottom.equalTo(self.view.mas_bottom);
make.right.equalTo(self.view.mas_right);
}];
但是没有waterMarkImageView显示。 但是,如果我交换订单,我将waterMarkImageView和tableView添加到self.view的子视图中,即:
[self.view addSubview:self.tableView];
[self.view addSubview:self.waterMarkImageView];
然后waterMarkImageView将显示,但在tableview上方,将覆盖tableview的一部分,这不是我所期望的。任何人都知道如何处理这个问题?
很抱歉,从视图层次结构中我可以看到水印的一部分,而不是整体。当我运行应用程序时,我什么也看不见。
答案 0 :(得分:0)
您无法看到imageView,因为它是背后的 tableView。这在 imageView之后添加tableView 时有意义。要解决此问题,只需将单元格的背景颜色设置为clearColor()即可。这将使它们透明,以便您可以看到它们后面的imageView。