自定义UINavigationController的push和pop切换界面动画

转载,来自:http://www.cnblogs.com/ubersexual/archive/2013/03/26/2983420.html

方法一:

利用iOS提供的4种视图转换类型:

  • UIViewAnimationTransitionFlipFromLeft
  • UIViewAnimationTransitionFlipFromRight
  • UIViewAnimationTransitionCurlUp
  • UIViewAnimationTransitionCurlDown

方法二:

  自定义动画:

  1. 在frameworks中添加QuartzCore.framework
  2. 在.m文件中导入 #import <QuartzCore/QuartzCore.h>

  实际上CATransition类中还有一个属性是removedOnCompletion,是此动画执行完后会自动remove,默认值为true。

transition的type可以返回四种类型:

  1. kCATransitionFade  淡出
  2. kCATransitionMoveIn  覆盖原图
  3. kCATransitionPush     推出
  4. kCATransitionReveal   底部显出来

  transition的subtype也可以有四种类型:

  1. kCATransitionFromRight
  2. kCATransitionFromLeft   (默认值)
  3. kCATransitionFromTop
  4. kCATransitionFromBottom

  还有一种设置动画类型的方法,不用setSubtype,只用setType

  [transition setType:@”suckEffect”];   或者  transition.type = @”suckEffect”;

  这里的suckEffect为效果名,主要效果有:

  • pageCurl      向上翻一页
  • pageUnCurl  向下翻一页
  • rippleEffect   滴水效果
  • suckEffect    收缩效果,如一块布被抽走
  • cube            立方体效果
  • oglFlip         上下翻转效果

 //@”cube” @”moveIn” @”reveal” @”fade”(default) @”pageCurl” @”pageUnCurl” @”suckEffect” @”rippleEffect” @”oglFlip”

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注