码迷,mamicode.com
首页 > 其他好文 > 详细

动画中的模块化设计

时间:2015-07-12 11:13:53      阅读:118      评论:0      收藏:0      [点我收藏+]

标签:动画中的模块化设计   ios   动画   

1.动画效果实现难度的判断
2.将看到的动画效果拆分成小模块
3.将写好的小模块组合成你所需要的动画效果

一,新建一个BaseAnimationView主控类

@interface BaseAnimationView : UIView

- (void)show;

- (void)hide;

- (void)buildView;

@end


#import "BaseAnimationView.h"

#import "CircleView.h"

#import "LineView.h"

@interface BaseAnimationView ()

@property (nonatomic, strong) CircleView *circleView;

@property (nonatomic, strong) RectView   *lineView;

@end


@implementation BaseAnimationView

- (void)show {

    [self.circleView show];

    [self.lineView show];

}


- (void)hide {

    [self.circleView hide];

    [self.lineView hide];

}


- (void)buildView {

    self.circleView = [[CircleView alloc] initWithFrame:CGRectZero];

    [self addSubview:self.circleView];

    

    self.lineView = [[RectView alloc] initWithFrame:CGRectZero];

    [self addSubview:self.lineView];

}

@end


二、新建CircleView,LineView类,方法名都统一,此两类被BaseAnimationView控制

@interface CircleView : UIView

- (void)show;

- (void)hide;

- (void)buildView;

@end


#import "CircleView.h"

@implementation CircleView

- (void)show {}

- (void)hide {}

- (void)buildView {}

@end


@interface LineView : UIView

- (void)show;

- (void)hide;

- (void)buildView;

@end


#import "LineView.h"

@implementation LineView

- (void)show {}

- (void)hide {}

- (void)buildView {}

@end


三、使用复杂的动画被写进了BaseAnimationView当中,没有暴露不必要的细节,便于维持

- (void)viewDidLoad {

    [super viewDidLoad];


    // 复杂的动画被写进了BaseAnimationView当中,没有暴露不必要的细节

    BaseAnimationView *baseView = [[BaseAnimationView alloc] initWithFrame:CGRectZero];

    [self.view addSubview:baseView];

    [baseView show];

}


四、总结
1.制定统一的动画接口
2.动画中的高内聚低耦合原理
3.设计动画函数的注意事项
4.用里氏代换原则来处理动画类的继承问题
5.动画中的模块化设计

版权声明:本文为博主原创文章,未经博主允许不得转载。

动画中的模块化设计

标签:动画中的模块化设计   ios   动画   

原文地址:http://blog.csdn.net/baitxaps/article/details/46848345

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!