利用CATransition添加转换效果

    CATransition *transition = [CATransition animation];
transition.duration = 1.0f;//间隔时间
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];//动画的开始与结束的快慢
/*
kCATransitionFade;
kCATransitionMoveIn;
kCATransitionPush;
kCATransitionReveal;
*/
transition.type = kCATransitionReveal; // 各种动画效果
//@"cube" @"moveIn" @"reveal" @"fade"(default) @"pageCurl" @"pageUnCurl" @"suckEffect" @"rippleEffect" @"oglFlip"
transition.type = @"oglFlip"; /* 各种动画效果*/

/*
kCATransitionFromRight;
kCATransitionFromLeft;
kCATransitionFromTop;
kCATransitionFromBottom;
*/
transition.subtype = kCATransitionFromTop;// 动画方向
transition.delegate = self;
[self.navigationController.view.layer addAnimation:transition forKey:nil];
//另外加一句,transition在申请时用的是+方法,所以不需要自己进行release ,在层上添加后不要认为retainCount已经+1,就还要release
//实际上CATransition类中还有一个属性是removedOnCompletion,是此动画执行完后会自动remove,默认值为true
HotelSearchController *hotelSearchController = [[HotelSearchController alloc] initWithStyle:UITableViewStyleGrouped];
[self.navigationController pushViewController:hotelSearchController animated:YES];
[hotelSearchController release];
posted @ 2011-10-18 10:39  Piosa  阅读(2734)  评论(0编辑  收藏  举报