YBPopupMenuAnimationManager.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. //
  2. // YBPopupMenuAnimationManager.h
  3. // YBPopupMenuDemo
  4. //
  5. // Created by liyuanbo on 2020/1/19.
  6. // Copyright © 2020 LYB. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. #import <UIKit/UIKit.h>
  10. NS_ASSUME_NONNULL_BEGIN
  11. typedef NS_ENUM(NSInteger,YBPopupMenuAnimationStyle) {
  12. YBPopupMenuAnimationStyleScale = 0, //scale动画 Default
  13. YBPopupMenuAnimationStyleFade, //alpha 0~1
  14. YBPopupMenuAnimationStyleNone, //没有动画
  15. YBPopupMenuAnimationStyleCustom //自定义
  16. };
  17. @protocol YBPopupMenuAnimationManager <NSObject>
  18. /**
  19. 动画类型,默认YBPopupMenuAnimationStyleScale
  20. */
  21. @property (nonatomic, assign) YBPopupMenuAnimationStyle style;
  22. /**
  23. 显示动画,自定义可用
  24. */
  25. @property (nonatomic, strong) CAAnimation * showAnimation;
  26. /**
  27. 隐藏动画,自定义可用
  28. */
  29. @property (nonatomic, strong) CAAnimation * dismissAnimation;
  30. /**
  31. 弹出和隐藏动画的时间,Default is 0.25
  32. */
  33. @property CFTimeInterval duration;
  34. @property (nonatomic, weak) UIView * animationView;
  35. + (id <YBPopupMenuAnimationManager>)manager;
  36. - (void)displayShowAnimationCompletion:(void (^) (void))completion;
  37. - (void)displayDismissAnimationCompletion:(void (^) (void))completion;
  38. @end
  39. @interface YBPopupMenuAnimationManager : NSObject<YBPopupMenuAnimationManager>
  40. @end
  41. NS_ASSUME_NONNULL_END