实现动画效果的原理:通过定时修改UIImageView和UIImage区域来达到。
举例(左上角飞入):
-(void)topLeft:(NSInteger) picNum playOrder:(NSInteger) order
{
UIImage* Img = _arrayImage[picNum];
NSInteger w = nSegW * order;//分片宽 x 第几次效果
NSInteger h = nSegH * order;
CGRect rect = CGRectMake(0,0, w ,h );
UIImageView* ImageView1 = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, order * nScreenSegLen, order * nScreenSegLen)];//屏幕分片宽 x 第几次效果(屏幕大小按宽计算 正方形)
CGImageRef imageRef = CGImageCreateWithImageInRect([Img CGImage],rect);
ImageView1.image = [UIImage imageWithCGImage:imageRef];
CGImageRelease(imageRef);
[_pImageView addSubview:ImageView1];
[_pImageView sendSubviewToBack:ImageView1]; //看自己需求放到底层或者顶层
}
}
记得不用的UIImageView要remove掉。