【问题标题】:How to hide a UITabBarController until the first time webViewdidFinishLoad on the first view is called如何隐藏 UITabBarController 直到第一次调用第一个视图上的 webViewdidFinishLoad
【发布时间】:2011-05-28 02:43:06
【问题描述】:

我有一个基于标签栏控制器的应用程序,它有四个视图。我在我的 AppDelegate 中加载了一个启动画面,一段时间后显示标签栏如下:

// 显示标签栏 [窗口addSubview:tabBarController.view];

我想要做的是保持启动画面可见,并且在我加载的第一个视图中仅在我在 FirstViewController.m 中的 webViewDidFinishLoad 委托第一次执行后才显示 tabBarController。

有没有办法做到这一点?我只是在学习如何做到这一点,到目前为止,我似乎对我试图实现这一目标的任何代码都没有运气。但是,我仍然不知道如何隐藏和显示 UITabBarController。

编辑:我发现此代码可用作我需要显示父 UITabBarController 的代码的障碍:

  • (void)webViewDidFinishLoad:(UIWebView *)webView { // 加载完成,隐藏状态栏中的活动指示器 [UIApplication sharedApplication].networkActivityIndi​​catorVisible = NO;

    // 还在加载吗? 如果(web.loading) 返回; }

【问题讨论】:

  • 只是附带说明 - 确保您的 web 视图正在加载您检查网络连接的 Internet 页面。否则,当没有连接时,您的应用程序将在初始屏幕上挂起,并且不会被 App Store 接受。

标签: iphone uiwebview uitabbarcontroller


【解决方案1】:

使用 Nib 制作启动画面的对象并将其添加到窗口中

[窗口 addSubView:obj]; [self performSelector:@selector(loadFirstViewOnDelay) withObject:nil afterDelay:0.5];

在 DidFinishLaunching 中

然后

-(void)loadFirstViewOnDelay {

[窗口 addSubview:tabBarController.view]; }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-02
    • 2012-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-09
    • 1970-01-01
    • 2011-03-23
    相关资源
    最近更新 更多