具有自己的控制器的 UIView 子类 - 设计模式



据我所知,要遵循 MVC 模式指南,您不应该在视图中使用控制器(即服务器请求、委托等),但是 Apple 的一些示例代码在视图中具有动画(主要是CABasicAnimation实例,以便对其图层进行动画处理)。

我的问题是,在您的视图中拥有一些控制器逻辑是否违反了 MVC 设计模式,如果是这样,最好的选择是什么,例如,如果我们想要一个在执行某些操作时始终动画(即反弹)的UIView,并且您不想为具有视图实例的每个UIViewController实现该逻辑。

您可以简单地创建一个包含视图动画逻辑的UIViewController,从而吸引视图所有者。

在此之后,您可以像单例一样使用它,并通过让控制器始终对视图进行动画处理,将其视图添加到您想要的所有位置。

但是要回答您的第一个问题,是的,如果您将控制器代码放在视图中,它会破坏模式。

最新更新