呈现全屏“模态”加载视图

时间:2012-02-08 09:56:37

标签: iphone ios ipad uikit

我的应用视图层次结构有一个根UINavigationController,其中包含一个UIViewController子类,其中包含UIWebView。一旦应用程序启动,我希望使用全屏加载视图控制器隐藏整个Navigation Controller视图,直到调用Web视图完成加载委托方法。

为了达到这个目的,我考虑了两种方式中的一种,这两种方式都没有“感觉正确”:

  • UINavigationController视图中添加子视图 - 干扰导航控制器视图感觉非常麻烦
  • 从根级别呈现一个模态视图控制器 - 我必须等到viewDidAppear才能调用它,这会在显示之前导致较低VC的闪烁。反过来,在某些情况下加载VC会呈现自己的模态,这意味着我在根VC的顶部有一个模态。

我是否完全疯了或者这不是一种特别简单的方法来实现这个应用程序流程?

2 个答案:

答案 0 :(得分:1)

一种有点“优雅”的方法:创建一个包含需要加载的UIWebView的共享单例类,并在启动应用程序时启动请求。同时,显示预加载器屏幕(应用程序启动时添加到导航堆栈的第一件事)。请求完成加载后,通过NSNotification中心发布通知,导致AppDelegate按下/切换到加载的UIWebView控制器。

答案 1 :(得分:0)

您是否有必要使用UIWebView完全隐藏后台正在发生的事情?是不是足以实现此用户体验的阻止活动指标?如果是这样,我建议使用在线提供的许多不错的活动指示组件之一,例如MBProgressHUD