cdts/xdts-ios 3/TreeHole/Code/Gategory/BRPickerView/Base/BRBaseView.h
2023-07-27 09:20:00 +08:00

77 lines
3.0 KiB
Objective-C
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//
// BaseView.h
// BRPickerViewDemo
//
// Created by renbo on 2017/8/11.
// Copyright © 2017 irenb. All rights reserved.
//
// 最新代码下载地址https://github.com/91renb/BRPickerView
#import <UIKit/UIKit.h>
#import "BRPickerStyle.h"
NS_ASSUME_NONNULL_BEGIN
typedef void(^BRCancelBlock)(void);
typedef void(^BRDoneClickBlock)(void);
@interface BRBaseView : UIView
/** 选择器标题 */
@property (nullable, nonatomic, copy) NSString *title;
/** 是否自动选择,即滚动选择器后就执行结果回调,默认为 NO */
@property (nonatomic, assign) BOOL isAutoSelect;
/** 自定义UI样式不传或为nil时是默认样式 */
@property (nullable, nonatomic, strong) BRPickerStyle *pickerStyle;
/** 取消选择的回调 */
@property (nullable, nonatomic, copy) BRCancelBlock cancelBlock;
/** accessory view for above picker view. default is nil */
@property (nullable, nonatomic, strong) UIView *pickerHeaderView;
/** accessory view below picker view. default is nil */
@property (nullable, nonatomic, strong) UIView *pickerFooterView;
/// 确定按钮点击事件的回调
/// 应用场景:如果是自定义确定按钮,需要在该按钮点击事件方法里,执行一下 doneBlock 回调。目的是触发组件内部执行 resultBlock 回调,回调选择的值
@property (nullable, nonatomic, copy) BRDoneClickBlock doneBlock;
/** 弹框视图(使用场景:可以在 alertView 上添加选择器的自定义背景视图) */
@property (nullable, nonatomic, strong) UIView *alertView;
/** 组件的父视图:可以传 自己获取的 keyWindow或页面的 view */
@property (nullable, nonatomic, strong) UIView *keyView;
/// 刷新选择器数据
/// 应用场景:动态更新数据源、动态更新选择的值、选择器类型切换等
- (void)reloadData;
/// 扩展一:添加选择器到指定容器视图上
/// 应用场景:可将中间的滚轮选择器 pickerView 视图(不包含蒙层及标题栏)添加到任何自定义视图上(会自动填满容器视图),也方便自定义更多的弹框样式
/// 补充说明:如果是自定义确定按钮,需要回调默认选择的值:只需在自定义确定按钮的点击事件方法里执行一下 doneBlock 回调(目的是去触发组件内部执行 resultBlock 回调,进而回调默认选择的值)
/// @param view 容器视图
- (void)addPickerToView:(nullable UIView *)view NS_REQUIRES_SUPER;
/// 从指定容器视图上移除选择器
/// @param view 容器视图
- (void)removePickerFromView:(nullable UIView *)view;
/// 扩展二添加自定义视图到选择器pickerView
/// 应用场景:可以添加一些固定的标题、单位等到选择器中间
/// @param customView 自定义视图
- (void)addSubViewToPicker:(UIView *)customView;
/// 扩展三添加自定义视图到标题栏titleBarView
/// 应用场景:可以添加一些子控件到标题栏
/// @param customView 自定义视图
- (void)addSubViewToTitleBar:(UIView *)customView;
@end
NS_ASSUME_NONNULL_END