1

我的 iOS 应用程序使用异步下载从 Internet 读取数据。所以我有事件:开始,完成,错误。

问题是关于用户体验的。当数据正在下载时,用户看到活动指示器并且我阻止了所有 UI

问题是阻止 UI 是否是一种好习惯?

4

2 回答 2

1

我正在开发一个具有类似用例的应用程序:当我们连接到给定系统时,有一个描述它的 XML 文件,我们必须下载(这是异步完成的)。在下载该 XML 之前,用户无法对所述系统执行任何操作,用户也无法执行任何其他操作(除了打开另一个系统,但这是同样的问题)。在这种情况下,应用程序中会显示一个阻塞微调器。

但是,在某些情况下 XML 不会更新,我们可以检查时间戳。如果我们不需要更新它,我们不需要,并且用户看不到阻塞微调器。

执行此操作的另一个应用程序是 Sonos - 他们在搜索无线网络(使用他们的一个系统)时有一个阻塞微调器,因为没有该连接他们无法做任何事情。

请注意,在这两个示例中,用户仍然可以离开应用程序,只是不能应用程序中执行操作。

基本上这最终是:不要阻止用户,除非他们在请求完成之前什么都不做。

于 2013-01-31T16:58:22.683 回答
0

如果您正在异步下载数据,那么几乎没有理由阻止 UI,因为您遇到了解除阻止它的麻烦。

如果有一个特定的功能你必须阻止,因为它需要数据继续。但其他一切都应该像往常一样免费和响应。

于 2013-01-31T16:56:43.570 回答