显示全屏"modal"加载视图



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

为了实现这一点,我考虑了两种方法中的一种,这两种方法都不是"感觉正确"的:

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

我是完全疯了,还是这不是一个特别容易的方法来实现这个应用程序流?

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

是否需要使用UIWebView完全隐藏后台发生的事情?一个阻塞活动指标难道不足以实现这种用户体验吗?如果是这样的话,我建议使用在线可用的许多不错的活动指示组件之一,例如MBProgressHUD

最新更新