3

我总是根据 MVC 原则设计我的程序,但是在其中安装动画是一件很痛苦的事情。

到目前为止,我已经实施了以下方案:

1)模型做一些动作[]并向所有监听器发送通知;

2) 收到通知后,视图会向队列中添加动画。

这是一种可行的方法,但它有一个巨大的缺点——模型和 UI 变得不同步。例如,模型已经应用了 10 个操作,但 UI 仍处于状态,其中应用了 5 个。

这个缺点迫使动画被编码为不可中断的,这对于 UI 设计来说不是很好的做法。请建议如何解决该问题。

4

1 回答 1

1

您可以在动画完成更新您的模型。这样,您的动画是用户可以用来确定操作何时完成的表示。例如,在将一个对象拖到其目的地之后,该对象将(模型端)保持在其旧位置,直到动画结束,然后才将其移动到新位置。

这样,如果动画因用户中断或发生错误而失败,您的模型仍将与视图的当前状态同步。

于 2012-08-29T13:44:30.257 回答