YBIBGetBaseInfoProtocol.h 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. //
  2. // YBIBGetBaseInfoProtocol.h
  3. // YBImageBrowserDemo
  4. //
  5. // Created by 波儿菜 on 2019/6/23.
  6. // Copyright © 2019 波儿菜. All rights reserved.
  7. //
  8. #import <UIKit/UIKit.h>
  9. #import "YBIBAuxiliaryViewHandler.h"
  10. #import "YBIBWebImageMediator.h"
  11. NS_ASSUME_NONNULL_BEGIN
  12. @protocol YBIBGetBaseInfoProtocol <NSObject>
  13. @optional
  14. /// 当前的方向
  15. @property (nonatomic, copy) UIDeviceOrientation(^yb_currentOrientation)(void);
  16. /// 根据方向获取容器大小
  17. @property (nonatomic, copy) CGSize(^yb_containerSize)(UIDeviceOrientation orientation);
  18. /// 容器视图 (可在上面添加子视图)
  19. @property (nonatomic, weak) UIView *yb_containerView;
  20. /// 辅助视图处理器
  21. @property (nonatomic, copy) id<YBIBAuxiliaryViewHandler>(^yb_auxiliaryViewHandler)(void);
  22. /// 图片下载缓存相关中介者
  23. @property (nonatomic, copy) id<YBIBWebImageMediator>(^yb_webImageMediator)(void);
  24. /// 当前页码
  25. @property (nonatomic, copy) NSInteger(^yb_currentPage)(void);
  26. /// 总页码数量
  27. @property (nonatomic, copy) NSInteger(^yb_totalPage)(void);
  28. /// 判断当前展示的 cell 是否恰好在屏幕中间
  29. @property (nonatomic, copy) BOOL(^yb_cellIsInCenter)(void);
  30. /// 是否正在转场
  31. @property (nonatomic, copy) BOOL(^yb_isTransitioning)(void);
  32. /// 是否正在展示过程转场
  33. @property (nonatomic, copy) BOOL(^yb_isShowTransitioning)(void);
  34. /// 是否正在隐藏过程转场
  35. @property (nonatomic, copy) BOOL(^yb_isHideTransitioning)(void);
  36. /// 是否正在旋转
  37. @property (nonatomic, copy) BOOL(^yb_isRotating)(void);
  38. /// 背景视图 (也就是 YBImageBrower 对象,不可在上面添加子视图。作用:一是可以更改透明度和颜色,入场和出场动效有用;二是可以用来比较内存指针,在做不同实例差异化功能时可能有用,虽然不提倡这么做)
  39. @property (nonatomic, weak) __kindof UIView *yb_backView;
  40. /// 集合视图
  41. @property (nonatomic, copy) __kindof UICollectionView *(^yb_collectionView)(void);
  42. @end
  43. NS_ASSUME_NONNULL_END