我总是根据MVC原则设计我的程序,但是装入动画是痛苦的。
到目前为止,我已实施以下方案:
1)模型执行多个操作[]并向所有侦听器发送通知;
2)在收到通知后,View会向队列添加动画。
这是可行的方法,但它有一个巨大的缺点 - 模型和UI变得不同步。例如,已经有10个动作应用于模型,但UI仍处于状态,其中5个已应用。
这个缺点迫使动画编码不间断,这对于UI设计来说不是好习惯。请提出建议如何解决问题。
答案 0 :(得分:1)
您可以在动画完成后更新模型。这样,您的动画就是用户可以用来确定动作何时完成的表示。例如。将对象拖动到目标后,对象将保留(模型侧)旧位置,直到动画结束,然后才会移动到新对象。
这样,如果动画因用户中断或错误而失败,您的模型仍将与视图的当前状态同步。