1,首先创建一个APP,并命名;
2,创建一个类命名为cutonView,并使其成为UIView的子类;
3,添加框架:
首先,点击你创建的app--蓝色图标,然后在右边找到"Build Phase",点击,然后在点击“Link Binary With Libraries(1 item)”,选中里边的“+”,添加“QuartzCore.framework”;
4,以上工作完成开始书写代码:
5,打开cutonView.h文件,添加头文件如下代码:
#import<QuartzCore/QuartzCore.h>
@interface cutonView:UIView
{
UIImage *image2;
}
@property(nonatomic,retain)UIImage* image2;
-(void)dhImage;//实现动画图片的方法
6,添加代码到cutonView.m中:
@implementation cutonView
@systhesize image2;
-(void) drawRect:(CGRect)rect
{
[self dhImage];
}
//对image1初始化
-(id)initWithFrame:(CGRect)frame
{
self=[super initWithFrame:frame];
if(self)
{
//以下是动画部分
image2=[UIImage imageNamed:@"2.png"];
[self dhImage];
}
return self;
}
-(void)dhImage
{
UIImageView* imageView=[[UIImageView alloc]initWithImage:image2];
imageView.frame=CGRectMake(300, 300, 100, 100);
[self addSubview:imageView];
imageView.userInteractionEnabled=YES;
UITapGestureRecognizer* singleTap=[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(onImageClick)];
[imageView addGestureRecognizer:singleTap];
CABasicAnimation *animation=[CABasicAnimation animationWithKeyPath:@"transform"];
animation.delegate=self;
animation.toValue=[NSValue valueWithCATransform3D:CATransform3DMakeRotation(M_PI, 0, 0, 1.0)];
animation.duration=1;
animation.cumulative=YES;
animation.repeatCount=INT_MAX;
[imageView.layer addAnimation:animation forKey:@"animation"];
}