【问题标题】:How to remove UIView and add another UIView in appDelegate at runtime?如何在运行时删除 UIView 并在 appDelegate 中添加另一个 UIView?
【发布时间】:2011-09-08 06:00:08
【问题描述】:

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

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

我在 applicationDidFinishLaunching 中添加 AdView 如下:

[self.view addSubView:AdView.view];

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

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

【问题讨论】:

    标签: iphone objective-c uiview uiapplicationdelegate addsubview


    【解决方案1】:

    使用UIViewremoveFromSuperView函数。

    - (void)removeFromSuperview ;
    

    如下使用...

    [AdView removeFromSuperView];
    

    【讨论】:

    • 好的,那么我如何插入新视图作为 appdelegate 视图的子视图。
    • 访问您的 appdelegate 的主视图并添加您的主视图。如下...[myAppDelegateView addSubView:HomeView]
    【解决方案2】:

    在 AdView 中,按钮点击事件:

    [self removeFromSuperView];
    

    已编辑

    如你所愿:完全删除 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];
     }
    

    【讨论】:

    • 好的,那么我如何插入新视图作为 appdelegate 视图的子视图
    猜你喜欢
    • 1970-01-01
    • 2012-01-25
    • 1970-01-01
    • 2013-03-15
    • 1970-01-01
    • 2018-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多