酷店

CWLateralSlideConfiguration.h 2.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. //
  2. // CWLateralSlideConfiguration.h
  3. // ViewControllerTransition
  4. //
  5. // Created by chavez on 2017/6/29.
  6. // Copyright © 2017年 chavez. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. #import <UIKit/UIKit.h>
  10. #define kCWSCREENWIDTH [UIScreen mainScreen].bounds.size.width
  11. #define kCWSCREENHEIGHT [UIScreen mainScreen].bounds.size.height
  12. typedef NS_ENUM(NSUInteger,CWDrawerTransitionDirection) {
  13. CWDrawerTransitionFromLeft = 0, // 左侧滑出
  14. CWDrawerTransitionFromRight // 右侧滑出
  15. };
  16. @interface CWLateralSlideConfiguration : NSObject
  17. /**
  18. 根控制器可偏移的距离,默认为屏幕的0.75
  19. */
  20. @property (nonatomic,assign) float distance;
  21. /**
  22. 手势驱动动画完成的临界点(范围0 - 1.0),默认为0.5(表示手势驱动到动画的一半则执行完动画,拖动不到一半则会取消动画)
  23. */
  24. @property (nonatomic,assign) float finishPercent;
  25. /**
  26. 抽屉显示动画的持续时间,默认为0.25f
  27. */
  28. @property (nonatomic,assign) NSTimeInterval showAnimDuration;
  29. /**
  30. 抽屉隐藏动画的持续时间,默认为0.25f
  31. */
  32. @property (nonatomic,assign) NSTimeInterval HiddenAnimDuration;
  33. /**
  34. 遮罩的透明度
  35. */
  36. @property (nonatomic,assign) float maskAlpha;
  37. /**
  38. 根控制器在y方向的缩放,默认为不缩放
  39. */
  40. @property (nonatomic,assign) float scaleY;
  41. /**
  42. 菜单滑出的方向,默认为从左侧滑出
  43. */
  44. @property (nonatomic,assign) CWDrawerTransitionDirection direction;
  45. /**
  46. 动画切换过程中,最底层的背景图片
  47. */
  48. @property (nonatomic,strong) UIImage *backImage;
  49. /**
  50. 默认配置
  51. @return 配置对象本身
  52. */
  53. + (instancetype)defaultConfiguration;
  54. /**
  55. 创建一个配置对象的实例方法
  56. @param distance 偏移距离
  57. @param alpha 遮罩的透明度
  58. @param scaleY y方向的缩放 (仅CWDrawerAnimationTypeDefault动画模式有效)
  59. @param direction 滑出方向
  60. @param backImage 动画切换过程中,最底层的背景图片 (仅CWDrawerAnimationTypeDefault动画模式有效)
  61. @return 配置对象本身
  62. */
  63. - (instancetype)initWithDistance:(float)distance maskAlpha:(float)alpha scaleY:(float)scaleY direction:(CWDrawerTransitionDirection)direction backImage:(UIImage *)backImage;
  64. /**
  65. 创建一个配置对象的类方法
  66. @param distance 偏移距离
  67. @param alpha 遮罩的透明度
  68. @param scaleY y方向的缩放
  69. @param direction 滑出方向
  70. @param backImage 动画切换过程中,最底层的背景图片
  71. @return 配置对象本身
  72. */
  73. + (instancetype)configurationWithDistance:(float)distance maskAlpha:(float)alpha scaleY:(float)scaleY direction:(CWDrawerTransitionDirection)direction backImage:(UIImage *)backImage;
  74. @end