我的 iOS 应用程序使用异步下载从互联网读取数据。所以我有事件:开始、完成、错误。
问题是关于用户体验的。 下载数据时,用户会看到事件指示器,我会屏蔽所有 UI
问题是屏蔽 UI 是否是一种好的做法?
最佳答案
我正在开发一个具有类似用例的应用程序:当我们连接到给定系统时,我们必须下载一个描述它的 XML 文件(异步完成)。在下载该 XML 之前,用户无法使用所述系统执行任何操作,用户也无法执行其他操作(除了打开另一个系统,但这是同一个问题)。在这种情况下,应用程序中会显示一个阻塞微调器。
但是,有些情况下 XML 不会更新,我们可以为此检查时间戳。如果我们不需要更新它,我们就不会更新它,并且用户不会看到任何阻塞微调器。
另一个执行此操作的应用程序是 Sonos - 他们在搜索无线网络(使用他们的系统之一)时有一个阻塞旋转器,因为没有该连接他们无法做任何事情。
请注意,在这两个示例中,用户仍然可以离开应用,只是不能在应用中进行操作。
基本上这最终是:不要阻止用户,除非他们在请求完成之前什么也做不了。
关于IOS异步下载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14630813/