2013-01-31 102 views
1

我的iOS应用程序正在使用异步下载从互联网上读取数据。所以我有事件:开始,完成,错误。IOS异步下载

问题与用户体验有关。 当数据下载用户看到活动指标和我阻止所有的UI

问题是,如果阻止用户界面是一个很好的做法?

+2

取决于:如果用户未被阻止,用户是否可以执行其他任务或者在当前任务上取得进展?另外,考虑到UX是否由于某种原因需要取消当前下载。 – warrenm

+0

假设这是登录屏幕。您输入密码并等待登录/错误。 –

回答

0

如果你正在异步下载数据,那么很难有理由阻止用户界面,因为你经历了麻烦以解除封锁。

如果您有一个特定的功能需要阻止,因为它需要数据继续。但其他一切都应该像平常一样自由和快速响应。

+0

此应用程序使用网站的服务。所以当用户点击操作时(登录,发帖等) - 他必须等待结果。阻塞UI看起来简单(开始/停止忽略UI事件)VS使所有领域只读,并检查是否呼叫正在进行 –

+0

阻塞UI总是会更容易。这并不意味着它是正确的。 iOS设备是全部触摸。因此,如果用户触摸并且屏幕没有响应,则感觉破裂或更糟,被冻结。我无法告诉你什么是最适合你的应用的。但我可以告诉你,阻止用户界面永远不是最佳实践。 –

1

我正在研究一个类似用例的应用程序:当我们连接到一个给定的系统时,有一个描述它的XML文件,我们必须下载(这是异步完成的)。在XML下载之前,用户无法使用所述系统,除此之外,用户无法做其他事情(除非打开另一个系统,但这是同样的问题)。在这种情况下,应用程序中会显示阻止旋转器。

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

另一个应用程序,并这是Sonos的 - 他们有一个阻挡微调,而搜索无线网络(在其系统中的一个),因为他们不能没有这方面东西。

请注意,在这两个示例中,用户仍然可以离开应用程序,但他们不能在应用程序中执行

基本上这样做的结果是:不要阻止用户,除非他们在请求完成之前什么也不做。