我是否必须为每个addSubview执行removeFromSuperview? 例如,只要弹出推送视图,就会调用viewWillAppear。 如果有addSubview,则会多次调用它。
- (void)viewWillAppear:(BOOL)animated {
[self.view addSubview:myView];
}
答案 0 :(得分:3)
您是否有理由不将该代码放入viewDidLoad中?但是如果你想把它保存在viewDidAppear中就可以了。如果你将一个子视图添加到超级视图它已经是子视图,没有任何反应。实际上,如果您将子视图添加到任何视图,它将从之前的超级视图中删除它。
答案 1 :(得分:2)
我不相信这是必要的,不是 - 引用文档,
视图只能有一个超级视图。如果视图已经具有超视图并且该视图不是接收者,则此方法会在使接收器成为新的超级视图之前删除先前的超视图。
我们的应用程序中有不少观点,由于各种原因,我们可能会多次分配到同一个超级视图,到目前为止这并没有引起任何问题。