77 lines
3.0 KiB
Objective-C
77 lines
3.0 KiB
Objective-C
//
|
||
// 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
|