1

当我要重新排列的两个视图不相关时,如何更改显示的视图顺序?

我正在尝试处理其他人的代码,他们有一个类,它是 UITableViewController 的子类。我想放一个背景,所以我把它作为 self.view 的子视图。

问题是,它显示在表格前面,表格位于 self.tableView,而不是 self.view.tableView 。由于两个视图不在一起,我不能使用 sendSubviewToBack 方法。

self 是我正在处理的 viewController 类。

有任何想法吗?

UIImageView *background = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"editInfoBG.png"]];
background.frame = CGRectMake(0, 0, 320, 416);
[self.view addSubview:background];

// Doesn't work, the table is not a subview of self.view
[self.view sendSubviewToBack:background];
4

2 回答 2

1

如果要将子视图添加到视图控制器中,则应使用UIViewControllerwith 的子类手动添加UITableView为子视图并实现UITableViewDataSourceandUITableViewDelegate协议而不是使用UITableViewController.

于 2012-08-10T11:37:58.647 回答
0

您可以像这样在 tabeview 之前插入背景

[self.view insertSubview:background belowSubview:self.tableView.view];

于 2012-08-10T11:34:14.063 回答