如何在运行时删除UIView并在appDelegate中添加另一个UIView?

时间:2011-09-08 06:00:08

标签: iphone objective-c uiview uiapplicationdelegate addsubview

我有两个完全依赖于AppDelegate文件的UIView。

首先,UIView是我启动应用时必须启动的广告页面。但是我已经使用另一个依赖于AppDelegate的HomeView制作了应用程序。

我在applicationDidFinishLaunching中添加了AdView,如下所示:

[self.view addSubView:AdView.view];

但是现在我希望当我点击AdView页面中的 DONE 按钮时,我应该导航到HomeView。但homeView应该是appDelegate的子视图

如何在完成按钮上编写代码,以完全删除 AdView 并将 Home View 作为appDelegate的子视图? 提前谢谢

2 个答案:

答案 0 :(得分:1)

使用UIViewremoveFromSuperView功能。

- (void)removeFromSuperview ;

使用如下......

[AdView removeFromSuperView];

答案 1 :(得分:0)

在AdView中的

按钮点击事件:

[self removeFromSuperView];

<强> EDITED

如您所愿:完全删除AdView并将Home View作为appDelegate的子视图

我认为您应该在委托中创建一个方法,删除子视图并向其添加另一个子视图。为此,您需要将您的代表的引用引用到AdView和按钮单击调用该代理的方法

- (void) methodInDelegate
{
   [AdView.view removeFromSuperView];
   [self performSelector:@selector(aMethodForAdding) withObject:nil afterDelay:0.1];
}

- (void) aMethodForAdding
 {
    [self.view addSubView:HomeView.view];
 }