先看效果:
下面贴代码:
#import "ViewController.h"
@interface ViewController ()
@property (weak, nonatomic) IBOutlet UIImageView *backgroundView;
@property (strong,nonatomic) NSArray *array;
@end
@implementation ViewController
-(NSArray *)array {
if (_array == nil) {
UIImage *image1 = [UIImage imageNamed:@"01.jpg"];
UIImage *image2 = [UIImage imageNamed:@"02.jpg"];
_array = @[image1,image2];
}
return _array;
}
- (void)viewDidLoad {
[super viewDidLoad];
self.backgroundView.image = self.array[0];
// Do any additional setup after loading the view, typically from a nib.
}
-(void)changeImage {
if (self.backgroundView.image == self.array[0]) {
self.backgroundView.image = self.array[1];
}else {
self.backgroundView.image = self.array[0];
}
}
- (IBAction)pushClick:(id)sender {
[self changeImage];
CATransition *transtion = [[CATransition alloc] init];
transtion.type = @"push";
transtion.subtype = kCATransitionFromBottom;
transtion.startProgress = 0.5;
transtion.endProgress = 0.8;
[self.view.layer addAnimation:transtion forKey:nil];
}
/*
效果有好多种,上面代码只贴出了其中一种,如果需要其他效果,只需要将
transtion.type = @"push";中的type改一下就行。
比如:
transtion.type = @"fade";
type的类型还有以下几种:
fade,reveal,moveIn,cube,suckEffect,oglFlip,rippleEffect,pageCurl,pageCurl,cameraIrisHollowOpen,cameraIrisHollowClose,pageUnCurl,pageCurl,pageCurl,pageCurl
*/
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}