山寨"每日故宫"应用的图层遮罩效果
最终效果:
应用中的效果:
素材图片:
源码:
// // ViewController.m // 每日故宫 // // Created by XianMingYou on 15/3/30. // Copyright (c) 2015年 XianMingYou. All rights reserved. // #import "ViewController.h"@interface ViewController ()@property (nonatomic, strong) UIImageView *bgImageView; @property (nonatomic, assign) CGRect leftRect; @property (nonatomic, assign) CGRect rightRect;@end@implementation ViewController- (void)viewDidLoad {[super viewDidLoad];// 背景viewself.bgImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"background.jpg"]];self.bgImageView.center = self.view.center;[self.view addSubview:self.bgImageView];// 存储必要的frame值CGRect midRect = self.bgImageView.frame;CGFloat offsetX = 20.f;self.leftRect = CGRectMake(midRect.origin.x - offsetX,midRect.origin.y,midRect.size.width,midRect.size.height);self.rightRect = CGRectMake(midRect.origin.x + offsetX,midRect.origin.y,midRect.size.width,midRect.size.height);// 加载图片UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"31"]];imageView.frame = self.view.bounds;[self.view addSubview:imageView];// 执行动画 [self animationBGImageViewWithDirection:YES]; }- (void)animationBGImageViewWithDirection:(BOOL)left {[UIView animateWithDuration:2.f animations:^{if (left == YES) {self.bgImageView.frame = self.rightRect;} else {self.bgImageView.frame = self.leftRect;}} completion:^(BOOL finished) {[self animationBGImageViewWithDirection:!left];}]; }@end