在向服务器发出请求时,为iOS7加载指示器

时间:2013-11-11 10:57:11

标签: ios loading uiactivityindicatorview

我想在执行后台线程时使用某种形式的加载显示。我考虑使用Activity Indicator view,但我觉得它本身还不够。我希望能够在加载过程中阻止用户交互,因此我想到了在UIAlertView上托管它。但是我看到Apple说你The UIAlertView class is intended to be used as-is and does not support subclassing. The view hierarchy for this class is private and must not be modified.因此我对将加载指示器放入UIAlertView犹豫不决。

我在这里看了一些其他的例子,其中一些提示了Custom UIAlertView方法。我只是想知道什么是最好的方法或一些方向?

我是否认为如果我自定义UIAlertView会拒绝该应用程序?

由于

5 个答案:

答案 0 :(得分:2)

使用MBProgressHUD,它在后台线程中完成工作时显示带有指示符和/或标签的半透明HUD。 MBPreogressHUD,有关详细信息,请参阅示例

答案 1 :(得分:0)

我做过类似的事情。我做的是我使用半透明的黑色视图覆盖整个窗口。捕获此叠加层中的任何事件,以防止点击下面的组件。这是可以接受的,该应用程序位于App Store中。

答案 2 :(得分:0)

看看MBProgressHUD - 完全为此构建 - https://github.com/jdg/MBProgressHUD

答案 3 :(得分:0)

您可以使用MBProgressHUD标准库。从此link

下载

很快就可以这样做:

[MBProgressHUD showHUDAddedTo:self.view animated:YES];
[MBProgressHUD hideHUDForView:self.view animated:YES];

MBProgressHUD link将帮助您理解

答案 4 :(得分:0)

  1. 创建通知并将其激活回异步线程的callout块中的主线程。
  2. 使用半透明self.view创建新的特殊活动视图控制器,并在其上添加UIActivityView。陷阱在自定义视图上进行UIEvents并将其设置为self.view。
  3. 将此控制器添加为通知的监听器。
  4. 当异步进程启动时,将此视图控制器作为子控制器添加到现有控制器,与self.view相同。
  5. 当通知到达活动视图控制器通知触发方法时,从superview中移除其视图,与视图控制器t.i相同。活动视图控制器。
  6. 通过这种方式,您可以更灵活地使用它做任何事情。