代码之家  ›  专栏  ›  技术社区  ›  Mustafa

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

  •  6
  • Mustafa  · 技术社区  · 17 年前

    我有一个从服务器获取信息的案例。我的应用程序有标签栏和导航按钮。我希望应用程序显示一个进度指示器并禁用所有其他控件,这样用户在从服务器中提取数据时就不能随意跳转。我怎样才能做到这一点?

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

    目前,当从服务器中提取信息/数据时,我会将UIActivityView添加到子视图中并开始为其设置动画。但这并不限制用户导航到应用程序的其他部分。

    2 回复  |  直到 17 年前
        1
  •  6
  •   Mustafa    17 年前

    Stephan建议将UIAlertView与UIProgressView或UIActivityIndicatorView结合使用。这个解决方案对我很有效,但正如与iPhone开发者社区的一些其他成员讨论的那样,不建议采用这种方法。

    推荐的方法是使用新视图并将其透明度值设置为alpha 7或8,将其背景设置为黑色,并在此视图中添加UIProgressView或UIActivityIndicatorView,然后使用此新视图显示进度。使用此技术不涉及黑客。而在将UIActivityIndicatorView添加到UIAlertView的情况下,您实际执行的是一个没有记录的操作(不建议这样做)。

    谢谢。

        2
  •  1
  •   Brad Larson    12 年前

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

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