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

6
我有一个问题,需要从服务器获取信息。我的应用程序同时具有选项卡栏和导航按钮。我希望应用程序能够显示进度指示器并禁用所有其他控件,以便用户在从服务器提取数据时不能跳转到其他页面。我该如何实现?
我考虑的一种方法是显示一个透明视图,在其中包含一个进度窗口(类似于消息提示窗口-允许用户仅与消息提示窗口交互)。我需要帮助实现此方法。
目前,在从服务器提取信息/数据时,我将UIActivityView添加到子视图中并开始动画播放。但是,这并不会限制用户浏览应用程序的其他部分。
2个回答

6
Stephan 建议使用带有 UIProgressView 或 UIActivityIndicatorView 的 UIAlertView。这种解决方案对我有效,但是在与 iPhone 开发者社区的其他成员讨论后,我们发现这种方法并不被推荐。
推荐的方法是使用一个新视图,并将其透明度值设置为 alpha 7 或 8,将其背景设置为黑色,并在此视图中添加 UIProgressView 或 UIActivityIndicatorView,并使用此新视图显示进度。在使用此技术时不需要任何 hack。而在将 UIActivityIndicatorView 添加到 UIAlertView 中时,实际上正在执行非文档化操作(这是不推荐的)。
谢谢。

1

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

如果需要,您可以向警报添加UIProgressView或UIActivityIndicatorView。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接