iOS 动画:YSLTransitionAnimator

jopen 9年前

YSLTransitionAnimator 是一个 Pinterest 风格的过渡动画。

用法

  • importYSLTransitionAnimator.h
  • importUIViewController+YSLTransition.h

Push Transition

@interface ViewController () <YSLTransitionAnimatorDataSource>    - (void)viewWillDisappear:(BOOL)animated  {      [self ysl_removeTransitionDelegate];  }    - (void)viewDidAppear:(BOOL)animated  {      float statusHeight = [[UIApplication sharedApplication] statusBarFrame].size.height;      float navigationHeight = self.navigationController.navigationBar.frame.size.height;        [self ysl_addTransitionDelegate:self];      [self ysl_pushTransitionAnimationWithToViewControllerImagePointY:statusHeight + navigationHeight                                                     animationDuration:0.3];  }    #pragma mark -- YSLTransitionAnimatorDataSource  - (UIImageView *)pushTransitionImageView  {      CollectionCell *cell = (CollectionCell *)[self.collectionView cellForItemAtIndexPath:[[self.collectionView indexPathsForSelectedItems] firstObject]];      return cell.itemImage;  }    - (UIImageView *)popTransitionImageView  {      return nil;  }

Pop Transition

@interface ViewController () <YSLTransitionAnimatorDataSource>    - (void)viewWillDisappear:(BOOL)animated  {      [self ysl_removeTransitionDelegate];  }    - (void)viewDidAppear:(BOOL)animated  {      float statusHeight = [[UIApplication sharedApplication] statusBarFrame].size.height;      float navigationHeight = self.navigationController.navigationBar.frame.size.height;      [self ysl_addTransitionDelegate:self];      [self ysl_popTransitionAnimationWithCurrentScrollView:self.tableView                                      cancelAnimationPointY:self.headerImageView.frame.size.height - (statusHeight + navigationHeight)                                          animationDuration:0.3                                    isInteractiveTransition:YES];  }    #pragma mark -- YSLTransitionAnimatorDataSource    - (UIImageView *)pushTransitionImageView  {      return nil;  }    - (UIImageView *)popTransitionImageView  {      return self.headerImageView;  }

iOS 动画:YSLTransitionAnimator

项目主页:http://www.open-open.com/lib/view/home/1433900983864