【问题标题】:How to prevent flickering placeholder content before async response如何在异步响应之前防止闪烁的占位符内容
【发布时间】:2016-11-19 06:18:44
【问题描述】:

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

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

预览:

【问题讨论】:

  • 不显示任何占位符文本。留空。检索数据后,如果需要,为任何缺失的属性添加占位符文本

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


【解决方案1】:

我不知道你在说什么异步数据,因为前面的场景有你想在这个目标场景中显示的名称和图像。因此,与其异步重新检索此数据,不如将必要的信息传递给下一个场景(例如,在prepareForSegue 中传递名称和图像)并让viewDidLoad 填充图像视图的imagetext标签的。这样,目标场景将显示正确的数据而不会闪烁。

但是让我们想象一下,您确实需要异步检索数据(例如“following”、“followers”和“checkins”),您可以将占位符留空,这样异步检索就不那么刺耳了。或者,如果在异步检索数据后目标场景将发生根本变化,您可能想要呈现“HUD”(例如,使用UIEffectView 模糊整个视图并在其上放置UIActivityIndicatorView),因此用户可以清楚地看到 (a) 应用程序还活着;但是 (b) 检索数据;当数据进来时,填写视图然后删除UIActivityIndicatorViewUIEffectView

无论您如何执行此操作,我都建议您在应用运行时测试您的 UI,同时使用网络链接调节器模拟非常差的连接。在最佳场景环境(例如良好的 wifi 连接)中设计应用程序很容易,而忘记用户可能在次优环境中使用它(例如接收不良的 2G 边缘网络)。

【讨论】:

    猜你喜欢
    • 2012-07-23
    • 1970-01-01
    • 2021-05-04
    • 1970-01-01
    • 2020-01-10
    • 2015-09-10
    • 1970-01-01
    • 1970-01-01
    • 2018-10-10
    相关资源
    最近更新 更多