Iphone 我可以多次添加子视图而不从SuperView中移除吗?

Iphone 我可以多次添加子视图而不从SuperView中移除吗?,iphone,Iphone,我是否必须为每个addSubview执行removeFromSuperview? 例如,每当弹出“推送视图”时,都会调用ViewWillDisplay。 如果存在addSubview,则会多次调用它 - (void)viewWillAppear:(BOOL)animated { [self.view addSubview:myView]; } 我不认为这是必要的,不-引用文件 视图只能有一个superview。如果视图已经有一个superview,而该视图不是接收器,则此方法会在

我是否必须为每个addSubview执行removeFromSuperview? 例如,每当弹出“推送视图”时,都会调用ViewWillDisplay。 如果存在addSubview,则会多次调用它

- (void)viewWillAppear:(BOOL)animated {   
    [self.view addSubview:myView];
}

我不认为这是必要的,不-引用文件

视图只能有一个superview。如果视图已经有一个superview,而该视图不是接收器,则此方法会在使接收器成为其新superview之前删除以前的superview


我们的应用程序中有很多视图,由于各种原因,我们可能会多次分配给同一个superview,到目前为止,这并没有造成任何问题。

您有什么理由不将代码放在viewDidLoad中?但是如果你想把它放在视图中,看起来没关系。如果将子视图添加到superview,则它已经是的子视图,不会发生任何事情。事实上,如果您将子视图添加到任何视图中,它会将其从以前的超级视图中删除。

是的,您应该删除ViewDidEngage或viewDidUnLoad方法上的视图,否则就好像您在层上添加了许多层,这不是一个好主意。我不能将其放在viewDidLoad中,因为myView是全局变量。弹出“推送”视图时,该视图将被删除。我必须再加一次。“它将从以前的superview中删除它”是什么意思?您的意思是系统在添加myView之前从superview中删除myView吗?所以,我不必离开我自己,是的。它不会让我添加一个只说是的评论,所以是的