BRBaseView.h 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. //
  2. // BaseView.h
  3. // BRPickerViewDemo
  4. //
  5. // Created by renbo on 2017/8/11.
  6. // Copyright © 2017 irenb. All rights reserved.
  7. //
  8. // 最新代码下载地址:https://github.com/91renb/BRPickerView
  9. #import <UIKit/UIKit.h>
  10. #import "BRPickerStyle.h"
  11. NS_ASSUME_NONNULL_BEGIN
  12. typedef void(^BRCancelBlock)(void);
  13. typedef void(^BRResultBlock)(void);
  14. @interface BRBaseView : UIView
  15. /** 选择器标题 */
  16. @property (nullable, nonatomic, copy) NSString *title;
  17. /** 是否自动选择,即滚动选择器后就执行结果回调,默认为 NO */
  18. @property (nonatomic, assign) BOOL isAutoSelect;
  19. /** 自定义UI样式(不传或为nil时,是默认样式) */
  20. @property (nullable, nonatomic, strong) BRPickerStyle *pickerStyle;
  21. /** 取消选择的回调 */
  22. @property (nullable, nonatomic, copy) BRCancelBlock cancelBlock;
  23. /** accessory view for above picker view. default is nil */
  24. @property (nullable, nonatomic, strong) UIView *pickerHeaderView;
  25. /** accessory view below picker view. default is nil */
  26. @property (nullable, nonatomic, strong) UIView *pickerFooterView;
  27. /** 选择结果的回调(组件内部使用)*/
  28. @property (nullable, nonatomic, copy) BRResultBlock doneBlock;
  29. /** 弹框视图(使用场景:可以在 alertView 上添加选择器的自定义背景视图) */
  30. @property (nullable, nonatomic, strong) UIView *alertView;
  31. /** 组件的父视图:可以传 自己获取的 keyWindow,或页面的 view */
  32. @property (nullable, nonatomic, strong) UIView *keyView;
  33. /// 刷新选择器数据
  34. /// 应用场景:动态更新数据源、动态更新选择的值、选择器类型切换等
  35. - (void)reloadData;
  36. /// 扩展一:添加选择器到指定容器视图上
  37. /// 应用场景:可将中间的滚轮选择器 pickerView 视图(不包含蒙层及标题栏)添加到任何自定义视图上(会自动填满容器视图),也方便自定义更多的弹框样式
  38. /// @param view 容器视图
  39. - (void)addPickerToView:(nullable UIView *)view NS_REQUIRES_SUPER;
  40. /// 从指定容器视图上移除选择器
  41. /// @param view 容器视图
  42. - (void)removePickerFromView:(nullable UIView *)view;
  43. /// 扩展二:添加自定义视图到选择器(pickerView)上
  44. /// 应用场景:可以添加一些固定的标题、单位等到选择器中间
  45. /// @param customView 自定义视图
  46. - (void)addSubViewToPicker:(UIView *)customView;
  47. /// 扩展三:添加自定义视图到标题栏(titleBarView)上
  48. /// 应用场景:可以添加一些子控件到标题栏
  49. /// @param customView 自定义视图
  50. - (void)addSubViewToTitleBar:(UIView *)customView;
  51. @end
  52. NS_ASSUME_NONNULL_END