TestsTested | ✗ |
LangLanguage | Obj-CObjective C |
License | MIT |
ReleasedLast Release | Aug 2023 |
Maintained by zhahao.
#import "UIViewController+HGAnimator.h"
// 使用封装的样式只需要调用这一句
OneViewController *oneVC=[[OneViewController alloc]init];
[self hg_presentViewController:oneVC animateStyle:HGTransitionAnimatorFromLeftStyle delegate:self presentFrame:_presentFrame backgroundColor:_backgroundColor animated:YES];
// 必须掉用下面的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
animateStyle:HGTransitionAnimatorCenterStyle
animateStyle:HGTransitionAnimatorFromRightStyle
animateStyle:HGTransitionAnimatorHiddenStyle
animateStyle:HGTransitionAnimatorFromTopStyle
animateStyle:HGTransitionAnimatorFromBottomStyle
animateStyle:HGTransitionAnimatorVerticalScaleStyle
该项目最低支持 iOS 8.0
和 Xcode 7.0
。
支持横竖屏的切换
。使用控制器管理弹出视图的好处:面向协议编程
,使控制器与View之间的传递控制链转换成控制器与控制器之间的传递,降低了代码的耦合度并且提高了代码的复用率,这也是Apple推出转场控制器的用意。如QQ右上角的添加
、分享界面的底部弹出
、都可以用自带样式定义一个专属控制器,支持。目前有11
种自带的样式,基本上可以满足日常的开发需求。如果自定义,请实现HGTransitionAnimatorDelegate
代理方法。如果发现bug,请issue我,如果想改进,请pull request我!
HGTransitionAnimator 使用 MIT 许可证,详情见 LICENSE 文件。