据我所知,要遵循 MVC 模式指南,您不应该在视图中使用控制器(即服务器请求、委托等),但是 Apple 的一些示例代码在视图中具有动画(主要是CABasicAnimation
实例,以便对其图层进行动画处理)。
我的问题是,在您的视图中拥有一些控制器逻辑是否违反了 MVC 设计模式,如果是这样,最好的选择是什么,例如,如果我们想要一个在执行某些操作时始终动画(即反弹)的UIView
,并且您不想为具有视图实例的每个UIViewController
实现该逻辑。
您可以简单地创建一个包含视图动画逻辑的UIViewController,从而吸引视图所有者。
在此之后,您可以像单例一样使用它,并通过让控制器始终对视图进行动画处理,将其视图添加到您想要的所有位置。
但是要回答您的第一个问题,是的,如果您将控制器代码放在视图中,它会破坏模式。