0

我正在尝试实现一个加载视图,它将全局表示屏幕的加载状态。此视图将以屏幕边界矩形为中心。

这个实现将独立于任何 ViewController,所以我的第一个猜测是在应用程序委托中寻找一个方法(让我们将它命名为:-(void)showLoaderView)。

制作另一个包含加载视图的 UIWindow 是否是一个不错的选择。一旦应用程序委托方法“showLoaderView”被调用,这个窗口将很容易地显示在另一个窗口的顶部。

如果我使用常规视图和 addSubview 方法,问题在于这会产生不良耦合,因为加载器视图的位置将取决于调用 -(void)showLoaderView 的时刻。

如果您对此问题有任何其他建议,请我很乐意阅读。

谢谢,

4

1 回答 1

1

如果您的应用程序处于将直接进入其处于非活动状态之前所在的视图的状态,那么它将不需要加载屏幕,因为资源仍然可用。

只有当应用程序完全终止时,您才应该真正看到加载屏幕,并且从那时起,除了标准的第一个视图之外,您将无法返回到其他视图。

因此,我只需制作一个 UIViewController 来显示加载视图,然后推送到主视图。

编辑评论的答案

为它制作一个单独的xib

您甚至可以使用它自己的方法使其成为单例,该方法从 appDelegate 中获取 UINavigationViewController,然后以模态方式从堆栈中的 topViewController 呈现自己,然后自行关闭

然后在应用程序的任何地方你可以做的[[MyLoadingView sharedInstance] show];事情,你会得到模态视图,当它完成加载时,它也会自行关闭。

编辑 2

您仍然可以将操作推送到 BG 线程。

只需使用 NSOperationQueue。

也许您需要一个用于显示目的的加载视图和一个实际完成工作的加载单例类。这样加载视图可以被关闭,加载类仍然可以在后台完成工作。

于 2013-01-17T13:45:44.113 回答