我有一个案例,我从服务器中提取信息。我的应用程序同时具有标签栏和导航按钮。我希望应用程序显示进度指示器并禁用所有其他控件,以便用户在从服务器提取数据时不能跳来跳去。我怎样才能做到这一点?
我想到的一种方法是显示带有进度窗口的透明视图(很像消息警报窗口 - 它只允许用户与消息警报窗口交互)。我需要帮助来实施这种方法。
目前,当从服务器中提取信息/数据时,我将 UIActivityView 添加到子视图并开始对其进行动画处理。但这并不限制用户导航到应用程序的其他部分。
我有一个案例,我从服务器中提取信息。我的应用程序同时具有标签栏和导航按钮。我希望应用程序显示进度指示器并禁用所有其他控件,以便用户在从服务器提取数据时不能跳来跳去。我怎样才能做到这一点?
我想到的一种方法是显示带有进度窗口的透明视图(很像消息警报窗口 - 它只允许用户与消息警报窗口交互)。我需要帮助来实施这种方法。
目前,当从服务器中提取信息/数据时,我将 UIActivityView 添加到子视图并开始对其进行动画处理。但这并不限制用户导航到应用程序的其他部分。
Stephan 建议将 UIAlertView 与 UIProgressView 或 UIActivityIndicatorView 一起使用。这个解决方案对我有用,但正如与 iPhone 开发者社区的其他一些成员所讨论的那样,不推荐这种方法。
推荐的方法是使用一个新视图并将其透明度值设置为 alpha 7 或 8,将其背景设置为黑色,并在此视图中添加 UIProgressView 或 UIActivityIndicatorView 并使用此新视图来显示进度。使用此技术不涉及任何黑客攻击。同时,如果将 UIActivityIndicatorView 添加到 UIAlertView,您实际上会执行未记录的操作(不推荐)。
谢谢。
只需创建一个没有按钮的 UIAlertView,它将阻止任何用户交互。
如果需要,您可以将 UIProgressView 或 UIActivityIndicatorView 添加到警报中。