HGTransitionAnimator 0.1.5

HGTransitionAnimator 0.1.5

测试已验证
语言语言 Obj-CObjective C
许可 MIT
发布最新发布2023年8月

zhahao维护。



  • 作者:
  • zhahao

安装

如何使用

导入头文件

#import "UIViewController+HGAnimator.h"

Present 方法

// 使用封装的样式只需要调用这一句
OneViewController *oneVC=[[OneViewController alloc]init];
    [self hg_presentViewController:oneVC animateStyle:HGTransitionAnimatorFromLeftStyle  delegate:self presentFrame:_presentFrame backgroundColor:_backgroundColor animated:YES];   

Dismiss 方法

// 必须掉用下面的dismiss,不要调用[self dismissViewControllerAnimated:YES completion:nil];
    [self hg_dismissViewControllerAnimated:YES completion:nil];

自定义需要做的

实现HGTransitionAnimatorDelegate代理方法Transition
@interface ViewController ()    <HGTransitionAnimatorDelegate>
- (void)transitionAnimator:(HGTransitionAnimator *)animator animateTransitionToView:(UIView *)toView duration:(NSTimeInterval)duration{ // 弹出动画代码写在这里
}
- (void)transitionAnimator:(HGTransitionAnimator *)animator animateTransitionFromView:(UIView *)fromView duration:(NSTimeInterval)duration
{
    // 消失动画代码写在这里
}
- (NSTimeInterval)transitionDuration:(HGTransitionAnimator *)animator
{
    // 动画时间写在这里
}
- (BOOL)transitionAnimatorCanResponse:(HGTransitionAnimator *)animator
{
    // 蒙版点击是否有效
}
- (NSTimeInterval)transitionDuration:(HGTransitionAnimator *)animator
{
    //修改动画时间
}
// 更多代理方法详见demo

项目演示

查看并运行 HGTransitionAnimator/demo,目前封装了11种基本样式。带手势识别 dismiss 的有 3 种,具体查看 demo。

  • 类似优步、滴滴效果的左侧弹出,带手势拖拽识别。
    animateStyle:HGTransitionAnimatorFromLeftStyle

(左边弹出1)

(左边弹出2)

  • 中心点消失
    animateStyle:HGTransitionAnimatorCenterStyle

(中心点消失)

  • 右侧弹出
    animateStyle:HGTransitionAnimatorFromRightStyle

(右边弹出)

  • 显示/隐藏
    animateStyle:HGTransitionAnimatorHiddenStyle

(显示隐藏)

  • 顶部弹出
    animateStyle:HGTransitionAnimatorFromTopStyle

(顶部出现)

  • 底部弹出
    animateStyle:HGTransitionAnimatorFromBottomStyle

(底部出现)

  • 垂直压缩
    animateStyle:HGTransitionAnimatorVerticalScaleStyle

(垂直压缩)

系统要求

该项目最低支持 iOS 8.0Xcode 7.0

注意

支持横竖屏的切换。使用控制器管理弹出视图的好处有:面向协议编程,将控制器与 View 之间的控制链转换成控制器与控制器之间的传递,降低了代码的耦合度并提高了代码的重用率,这也是 Apple 推出转场控制器的用意。例如QQ右上角的添加分享界面的底部弹出等,都可以用自带的样式定义一个专属控制器,支持。目前有11种自带的样式,基本上可以满足日常开发需求。如果需要自定义,请实现 HGTransitionAnimatorDelegate 代理方法。如果发现bug,请提交 issue,如果想改进,请提交 pull request!

许可证

HGTransitionAnimator 使用 MIT 许可证,详情见 LICENSE 文件。