如何在异步响应之前防止闪烁的占位符内容

时间:2016-07-15 23:26:25

标签: ios swift user-interface mobile user-experience

您对使用异步数据显示观看的建议是什么?我有一个视图,简要显示占位符文本,直到实际数据可用来替换它。在这种情况下,UX最佳实践是什么?

我有目标配置文件视图,显示加载掩码并根据传递的用户ID进行异步调用。我也有一个缓存机制,但第一次调用总是会受到影响。

预览:

enter image description here

1 个答案:

答案 0 :(得分:0)

我不知道您正在谈论的异步数据,因为前面的场景中有您想要在此目标场景中显示的名称和图像。因此,不是异步地重新检索此数据,而是将必要的信息传递到下一个场景(例如,在prepareForSegue传递名称和图像)并让viewDidLoad填充图像的image查看标签的text。这样,目标场景将显示正确的数据而不会出现任何闪烁。

但是让我们想象你真的需要异步检索数据(例如"跟随","粉丝"" checkins"),你可以将占位符留空,这样异步检索就不那么刺耳了。或者,如果在异步检索数据后该目标场景将发生根本变化,您可能希望提供一个" HUD" (例如,使用UIEffectView模糊整个视图并在其上放置UIActivityIndicatorView,这样用户就可以清楚地看到(a)该应用仍处于活动状态;但(b)检索数据;当数据进入时,请填写视图,然后移除UIActivityIndicatorViewUIEffectView

但是你这样做,我建议你在应用程序运行时测试你的UI,网络链接调节器模拟一个非常糟糕的连接。在最佳情况场景环境中设计应用程序很容易(例如,很好的wifi连接)并且忘记用户可能在次优环境中使用它(例如,接收不良的2G边缘网络)。