我的iOS应用使用异步下载来从互联网上读取数据。所以我有事件:开始,完成,错误。
问题是关于用户体验。 下载数据时,用户看到活动指示器,我阻止所有UI
问题是阻止用户界面是一种好习惯吗?
答案 0 :(得分:1)
我正在研究一个具有类似用例的应用程序:当我们连接到给定系统时,有一个描述它的XML文件,我们必须下载(这是异步完成的)。在XML下载之前,用户无法对所述系统做任何事情,用户也无需做任何其他事情(除了打开另一个系统,但这是同样的问题)。在这种情况下,阻止微调器显示在应用程序中。
但是,在某些情况下,XML不会更新,我们可以检查时间戳。如果我们不需要更新它,我们就不会,并且用户看不到阻塞微调器。
另一个执行此操作的应用程序是Sonos - 他们在搜索无线网络(使用其中一个系统)时有一个阻塞微调器,因为没有这种连接他们就无法做任何事情。
请注意,在这两个示例中,用户仍然可以离开应用,他们只是无法在应用中执行。
基本上这最终是:不要阻止用户,除非他们在请求完成之前什么都不做。
答案 1 :(得分:0)
如果您以异步方式下载数据,那么阻止用户界面的理由很少,因为您遇到了解锁它的麻烦。
如果有特定功能,您必须阻止,因为它需要数据继续。但其他一切都应该是正常的自由和反应。