【发布时间】:2020-01-04 03:35:30
【问题描述】:
我有一个UITableView,其中有很多不同的自定义单元格 1 有一个 Lottie 动画视图,当我按下按钮或接收某些网络消息时,动画应该跳转到特定位置/进度,然后制作动画前进或后退。
到目前为止,一切正常,直到我向下滚动并且UITableViewCell 被回收,这会停止我的动画并且我无法跟踪正确的位置/进度。
我考虑过使用计时器并尝试将其与动画进度同步,或者实例化一个隐藏的LottieAnimationView 并将其与可见的同步。有没有人处理过这个问题?
这是一个相当长的可变长度动画(通常在 20 到 30 秒之间),需要在多个设备之间同步,每当窗帘改变方向时,服务器都会向每个客户端发送一条消息,消息包括方向(打开、关闭或停止)及其位置,以 0% 到 100%(关闭到打开)的百分比表示。
动画连接到一个真实的设备,一个窗帘,它是那个设备的反馈,这就是网络调用的目的,所以它不会循环。根据房间的不同,可能有 2 到 4 个带有动画的单元格,每个单元格和动画对应于不同的窗帘,还有十几个或更多单元格有 0 个动画并且完全不相关。每个单元格都存储一个唯一的 ID、窗帘的最后一次运动、最后接收到的 0% 到 100% 之间的窗帘位置以及动画的持续时间和速度。
页面加载时,所有内容都是从 XML 文件中读取的。然后我使用 TCP 通信来改变开关、按钮和滑块的状态。像这样:https://imgur.com/L5M5mki
有什么建议吗?
【问题讨论】:
标签: swift uitableview lottie