UIView 实现翻转效果

代码:

  • (void)viewDidLoad {
    [super viewDidLoad];
    //需要翻转的视图
    UIView *parentView = [[UIView alloc] initWithFrame:CGRectMake(0, 150, 320, 200)];
    parentView.backgroundColor = [UIColor yellowColor];
    parentView.tag = 1000;
    [self.view addSubview:parentView];
    }
    //需要在h头文件声明下面的动作响应函数
    //在xib文件中添加一个button,其响应函数为下面的函数
    //运行程序后,点击button就看到翻转效果
    -(IBAction)ActionFanzhuan{
    //获取当前画图的设备上下文
    CGContextRef context = UIGraphicsGetCurrentContext();
    //开始准备动画
    [UIView beginAnimations:nil context:context];
    //设置动画曲线,翻译不准,见苹果官方文档
    [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
    //设置动画持续时间
    [UIView setAnimationDuration:1.0];
    //因为没给viewController类添加成员变量,所以用下面方法得到viewDidLoad添加的子视图
    UIView *parentView = [self.view viewWithTag:1000];
    //设置动画效果
    [UIView setAnimationTransition: UIViewAnimationTransitionCurlDown forView:parentView cache:YES]; //从上向下
    // [UIView setAnimationTransition: UIViewAnimationTransitionCurlUp forView:parentView cache:YES]; //从下向上
    // [UIView setAnimationTransition: UIViewAnimationTransitionFlipFromLeft forView:parentView cache:YES]; //从左向右
    // [UIView setAnimationTransition: UIViewAnimationTransitionFlipFromRight forView:parentView cache:YES];//从右向左
    //设置动画委托
    [UIView setAnimationDelegate:self];
    //当动画执行结束,执行animationFinished方法
    [UIView setAnimationDidStopSelector:@selector(animationFinished:)];
    //提交动画
    [UIView commitAnimations];
    }

//动画效果执行完毕

  • (void) animationFinished: (id) sender{
    NSLog(@"animationFinished !");
    }

你可能感兴趣的:(UIView 实现翻转效果)