#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (IBAction)UIButton:(UIButton *)sender {
UIView* backView = [self.view viewWithTag:10];
UIView* view1 = [self.view viewWithTag:11];
UIView* view2 = [self.view viewWithTag:12];
NSArray* viewArr = [backView subviews];
//获取相应元素的索引值
NSInteger index1 = [viewArr indexOfObject:view1];
NSInteger index2 = [viewArr indexOfObject:view2];
//通过索引值来调换两者的层次
[backView exchangeSubviewAtIndex:index1 withSubviewAtIndex:index2];
//开始翻页
[UIView beginAnimations:nil context:nil];
//设置动画时长
[UIView setAnimationDuration:1];
//设置动画曲线
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
//设置翻页效果,第一个参数是翻页效果参数,第二个参数是哪个视图里的子视图要翻页,第三个参数是是否缓存,一般填YES
[UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:backView cache:YES];
switch (sender.tag) {
case 1:
//设置翻页效果,第一个参数是翻页效果参数,第二个参数是哪个视图里的子视图要翻页,第三个参数是是否缓存,一般填YES
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:backView cache:YES];
break;
case 2:
//设置翻页效果,第一个参数是翻页效果参数,第二个参数是哪个视图里的子视图要翻页,第三个参数是是否缓存,一般填YES
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:backView cache:YES];
break;
case 3:
//设置翻页效果,第一个参数是翻页效果参数,第二个参数是哪个视图里的子视图要翻页,第三个参数是是否缓存,一般填YES
[UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:backView cache:YES];
break;
case 4:
//设置翻页效果,第一个参数是翻页效果参数,第二个参数是哪个视图里的子视图要翻页,第三个参数是是否缓存,一般填YES
[UIView setAnimationTransition:UIViewAnimationTransitionCurlDown forView:backView cache:YES];
break;
default:
break;
}
//结束动画
[UIView commitAnimations];
}
@end
翻页效果
最新推荐文章于 2023-05-06 00:53:18 发布