iPhone开发 - 限制用户与应用程序的交互并显示进度指示器

问题描述:

我有一种情况,我从服务器获取信息。我的应用程序有一个标签栏和导航按钮。我希望应用程序显示进度指示器并禁用所有其他控件,以便在从服务器中提取数据时用户无法跳转。我怎样才能做到这一点?iPhone开发 - 限制用户与应用程序的交互并显示进度指示器

我想到的一种方法是显示带有进度窗口的透明视图(很像消息警报窗口 - 只允许用户与消息警报窗口进行交互)。我需要帮助来实施这种方法。

当前,当信息/数据被从服务器中拉出时,我将一个UIActivityView添加到子视图并开始对其进行动画处理。但是这并不限制用户导航到应用程序的其他部分。

Stephan建议在UIProgressView或UIActivityIndi​​catorView中使用UIAlertView。这个解决方案适用于我,但正如iPhone开发人员社区的其他成员所讨论的那样,我们不推荐这种方法。

推荐的方法是使用新视图并将透明度值设置为alpha 7或8,将其背景设置为黑色,并在此视图中添加UIProgressView或UIActivityIndi​​catorView并使用此新视图显示进度。使用这种技术不涉及黑客行为。虽然,将UIActivityIndi​​catorView添加到UIAlertView中,但实际上您执行的是非文档操作(不推荐)。

谢谢。

只需创建一个没有按钮的UIAlertView,它将阻止任何用户交互。

如果需要,您可以将UIProgressView或UIActivityIndi​​catorView添加到警报中。