YBIBSheetView.h 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. //
  2. // YBIBSheetView.h
  3. // YBImageBrowserDemo
  4. //
  5. // Created by 波儿菜 on 2019/7/6.
  6. // Copyright © 2019 杨波. All rights reserved.
  7. //
  8. #import <UIKit/UIKit.h>
  9. NS_ASSUME_NONNULL_BEGIN
  10. @protocol YBIBDataProtocol;
  11. typedef void(^YBIBSheetActionBlock)(id<YBIBDataProtocol> data);
  12. @interface YBIBSheetAction : NSObject
  13. /// 显示的名字
  14. @property (nonatomic, copy) NSString *name;
  15. /// 点击回调闭包
  16. @property (nonatomic, copy, nullable) YBIBSheetActionBlock action;
  17. + (instancetype)actionWithName:(NSString *)name action:(_Nullable YBIBSheetActionBlock)action;
  18. @end
  19. @interface YBIBSheetView : UIView
  20. /// 数据源 (可自定义添加)
  21. @property (nonatomic, strong) NSMutableArray<YBIBSheetAction *> *actions;
  22. /// 列表 Cell 的高度
  23. @property (nonatomic, assign) CGFloat cellHeight;
  24. /// 列表最大高度与容器高度的比例
  25. @property (nonatomic, assign) CGFloat maxHeightScale;
  26. /// 取消的文本
  27. @property (nonatomic, copy) NSString *cancelText;
  28. /// 显示动画持续时间
  29. @property (nonatomic, assign) NSTimeInterval showDuration;
  30. /// 隐藏动画持续时间
  31. @property (nonatomic, assign) NSTimeInterval hideDuration;
  32. /// 背景透明度
  33. @property (nonatomic, assign) CGFloat backAlpha;
  34. /**
  35. 展示
  36. @param view 指定父视图
  37. @param orientation 当前方向
  38. */
  39. - (void)showToView:(UIView *)view orientation:(UIDeviceOrientation)orientation;
  40. /**
  41. 隐藏
  42. @param animation 是否带动画
  43. */
  44. - (void)hideWithAnimation:(BOOL)animation;
  45. /// 获取当前数据的闭包
  46. @property (nonatomic, copy) id<YBIBDataProtocol>(^currentdata)(void);
  47. @end
  48. NS_ASSUME_NONNULL_END