UIView 实现反转效果

来源:互联网 发布:崔顺实长得像网络小胖 编辑:程序博客网 时间:2024/04/29 08:51

- (void)viewDidLoad {

    [superviewDidLoad];

    // Do any additional setup after loading the view, typically from a nib.


    

    UIButton *btn = [UIButtonbuttonWithType:UIButtonTypeCustom];

    btn.backgroundColor = [UIColorredColor];

    btn.frame =CGRectMake(10,90, 100, 50);

    [self.viewaddSubview:btn];

    [btn addTarget:selfaction:@selector(ActionFanzhuan)forControlEvents:UIControlEventTouchUpInside];

    

    

    //需要翻转的视图

   UIView *parentView = [[UIViewalloc] initWithFrame:CGRectMake(0,150, 320, 200)];

    parentView.backgroundColor = [UIColoryellowColor];

    parentView.tag =1000;

    [self.viewaddSubview:parentView];

}

//需要在h头文件声明下面的动作响应函数

//xib文件中添加一个button,其响应函数为下面的函数

//运行程序后,点击button就看到翻转效果

-(void)ActionFanzhuan{

    //获取当前画图的设备上下文

    CGContextRef context =UIGraphicsGetCurrentContext();

    //开始准备动画

    [UIViewbeginAnimations:nilcontext:context];

    //设置动画曲线,翻译不准,见苹果官方文档

    [UIViewsetAnimationCurve:UIViewAnimationCurveEaseInOut];

    //设置动画持续时间

    [UIViewsetAnimationDuration:1.0];

    //因为没给viewController类添加成员变量,所以用下面方法得到viewDidLoad添加的子视图

   UIView *parentView = [self.viewviewWithTag:1000];

    //设置动画效果

    [UIViewsetAnimationTransition: UIViewAnimationTransitionCurlDownforView:parentView cache:YES]; //从上向下

    // [UIView setAnimationTransition: UIViewAnimationTransitionCurlUp forView:parentView cache:YES];   //从下向上

    // [UIView setAnimationTransition: UIViewAnimationTransitionFlipFromLeft forView:parentView cache:YES];  //从左向右

    // [UIView setAnimationTransition: UIViewAnimationTransitionFlipFromRight forView:parentView cache:YES];//从右向左

    //设置动画委托

    [UIViewsetAnimationDelegate:self];

    //当动画执行结束,执行animationFinished方法

    [UIViewsetAnimationDidStopSelector:@selector(animationFinished:)];

    //提交动画

    [UIViewcommitAnimations];

}


//动画效果执行完毕

- (void) animationFinished: (id) sender{

    NSLog(@"animationFinished !");

}




0 0
原创粉丝点击