我一直在推动自己学习更多 MVCS 风格的编程,并试图更好地组织我的代码。我的主要问题是,我有一个 UIViewController 可以在事件发生时显示一个视图。当视图被创建和视图被销毁时,我想在视图出现和消失时运行一些动画。我可以在我拥有的 UIView 类和 UIViewController 中执行此操作。一旦建立了这些动画,就不需要更改它们。我应该在 UIViewController 或 UIView 中执行此操作以保持 MVC 兼容吗?
该代码目前在我的 UIView 中,如下所示:
- (IBAction)removeView
{
NSLog(@"Remove");
if (self.completionBlock != nil) {
[UIView animateWithDuration:1.0f delay:0 options:UIViewAnimationOptionAllowUserInteraction animations:^{
self.transform = CGAffineTransformMakeTranslation(self.frame.origin.x, self.frame.origin.y - self.superview.frame.size.height);
self.alpha = 0; // also fade to transparent
}completion:^(BOOL finished)
{
if (finished) {
[self removeFromSuperview];
}
}];
self.completionBlock(YES);
}
}