您的位置:首页 > 移动开发 > IOS开发

IOS学习之核心动画-倒影

2016-07-28 22:59 465 查看
这里我们还是使用哆啦A梦做素材,然后实现倒影效果:



打开xcode,创建项目,把图片添加到main.storyboard居中对其



自定义view改变它layer的属性



#import "VcView.h"

@implementation VcView

+ (Class)layerClass
{
return [CAReplicatorLayer class];
}
@end


修改view的class



写代码

#import "ViewController.h"

@interface ViewController ()
@property (weak, nonatomic) IBOutlet UIImageView *imgV;

@end

@implementation ViewController

- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
CAReplicatorLayer *repL = (CAReplicatorLayer *)self.view.layer;
repL.instanceCount = 2;
//复制出来的自层都是绕着复制层的锚点进行旋转的
repL.instanceTransform = CATransform3DMakeRotation(M_PI, 1, 0, 0);

}

- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}

@end


然后再修改:



即可达到效果



最后设置代码

#import "ViewController.h"

@interface ViewController ()
@property (weak, nonatomic) IBOutlet UIImageView *imgV;

@end

@implementation ViewController

- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
CAReplicatorLayer *repL = (CAReplicatorLayer *)self.view.layer;
repL.instanceCount = 2;
//复制出来的自层都是绕着复制层的锚点进行旋转的
repL.instanceTransform = CATransform3DMakeRotation(M_PI, 1, 0, 0);

repL.instanceRedOffset -= 0.1;
repL.instanceGreenOffset -= 0.1;
repL.instanceBlueOffset -= 0.1;
repL.instanceAlphaOffset -= 0.1;
}

- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}

@end


效果图如下,我设置了背景颜色

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息