DZMCoverController.h 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. //
  2. // DZMCoverController.h
  3. // DZMCoverDemo
  4. //
  5. // Created by 邓泽淼 on 16/10/8.
  6. // Copyright © 2016年 DZM. All rights reserved.
  7. //
  8. /*
  9. 可以用于小说覆盖翻页样式使用。 现在支持的是代理返回控制器 。
  10. Show Finder 该工程文件里面有 返回View的使用
  11. */
  12. #import <UIKit/UIKit.h>
  13. @class DZMCoverController;
  14. @protocol DZMCoverControllerDelegate <NSObject>
  15. @optional
  16. /**
  17. * 切换是否完成
  18. *
  19. * @param coverController coverController
  20. * @param currentController 当前正在显示的控制器
  21. * @param isFinish 切换是否成功
  22. */
  23. - (void)coverController:(DZMCoverController * _Nonnull)coverController currentController:(UIViewController * _Nullable)currentController finish:(BOOL)isFinish;
  24. /**
  25. * 将要显示的控制器
  26. *
  27. * @param coverController coverController
  28. * @param pendingController 将要显示的控制器
  29. */
  30. - (void)coverController:(DZMCoverController * _Nonnull)coverController willTransitionToPendingController:(UIViewController * _Nullable)pendingController;
  31. /**
  32. * 获取上一个控制器
  33. *
  34. * @param coverController coverController
  35. * @param currentController 当前正在显示的控制器
  36. *
  37. * @return 返回当前显示控制器的上一个控制器
  38. */
  39. - (UIViewController * _Nullable)coverController:(DZMCoverController * _Nonnull)coverController getAboveControllerWithCurrentController:(UIViewController * _Nullable)currentController;
  40. /**
  41. * 获取下一个控制器
  42. *
  43. * @param coverController coverController
  44. * @param currentController 当前正在显示的控制器
  45. *
  46. * @return 返回当前显示控制器的下一个控制器
  47. */
  48. - (UIViewController * _Nullable)coverController:(DZMCoverController * _Nonnull)coverController getBelowControllerWithCurrentController:(UIViewController * _Nullable)currentController;
  49. @end
  50. @interface DZMCoverController : UIViewController
  51. /**
  52. * 代理
  53. */
  54. @property (nonatomic,weak,nullable) id<DZMCoverControllerDelegate> delegate;
  55. /**
  56. * 手势启用状态 default:YES
  57. */
  58. @property (nonatomic,assign) BOOL gestureRecognizerEnabled;
  59. /**
  60. * 当前手势操作是否带动画效果 default: YES
  61. */
  62. @property (nonatomic,assign) BOOL openAnimate;
  63. @property (nonatomic,assign) BOOL isCanTap;//背题模式下可以点击切换题目
  64. /**
  65. * 当前控制器
  66. */
  67. @property (nonatomic,strong,readonly,nullable) UIViewController *currentController;
  68. /**
  69. * 手动设置显示控制器 无动画
  70. *
  71. * @param controller 设置显示的控制器
  72. */
  73. - (void)setController:(UIViewController * _Nullable)controller;
  74. /**
  75. * 手动设置显示控制器
  76. *
  77. * @param controller 设置显示的控制器
  78. * @param animated 是否需要动画
  79. * @param isAbove 动画是否从上面显示 YES 从下面显示 NO
  80. */
  81. - (void)setController:(UIViewController * _Nullable)controller animated:(BOOL)animated isAbove:(BOOL)isAbove;
  82. @end