Files

123 lines
4.2 KiB
C
Raw Permalink Normal View History

2025-08-08 11:05:33 +08:00
//
// BRAddressPickerView.h
// BRPickerViewDemo
//
// Created by 任波 on 2017/8/11.
// Copyright © 2017年 91renb. All rights reserved.
//
// 最新代码下载地址https://github.com/91renb/BRPickerView
#import "BRBaseView.h"
#import "BRAddressModel.h"
/// 地址选择器类型
typedef NS_ENUM(NSInteger, BRAddressPickerMode) {
/** 显示【省市区】(默认) */
BRAddressPickerModeArea,
/** 显示【省市】 */
BRAddressPickerModeCity,
/** 显示【省】 */
BRAddressPickerModeProvince
};
typedef void(^BRAddressResultBlock)(BRProvinceModel *province, BRCityModel *city, BRAreaModel *area);
@interface BRAddressPickerView : BRBaseView
/**
//////////////////////////////////////////////////////////////////////////
///
/// 【用法一】
/// 特点:灵活,扩展性强(推荐使用!)
///
////////////////////////////////////////////////////////////////////////*/
/** 地址选择器显示类型 */
@property (nonatomic, assign) BRAddressPickerMode pickerMode;
/** 默认选中的位置(1.传索引数组,如:@[@10, @0, @4]) */
@property (nonatomic, copy) NSArray <NSNumber *>* selectIndexs;
/** 默认选中的位置(2.传值数组,如:@[@"浙江省", @"杭州市", @"西湖区"]) */
@property (nonatomic, copy) NSArray <NSString *>* selectValues; // 推荐使用 selectIndexs
/** 选择结果的回调 */
@property (nonatomic, copy) BRAddressResultBlock resultBlock;
/** 滚动选择时触发的回调 */
@property (nonatomic, copy) BRAddressResultBlock changeBlock;
/**
* nil BRCity.json
* 1. JSON数组 key BRCity.json
* 2. (NSArray <BRProvinceModel *>* )
*/
@property (nonatomic, copy) NSArray *dataSourceArr;
/// 初始化地址选择器
/// @param pickerMode 地址选择器显示类型
- (instancetype)initWithPickerMode:(BRAddressPickerMode)pickerMode;
/// 弹出选择器视图
- (void)show;
/// 关闭选择器视图
- (void)dismiss;
//================================================= 华丽的分割线 =================================================
/**
//////////////////////////////////////////////////////////////////////////
///
/// 【用法二】:快捷使用,直接选择下面其中的一个方法进行使用
/// 特点:快捷,方便
///
////////////////////////////////////////////////////////////////////////*/
/**
* 1.
*
* @param selectIndexs (@[@10, @0, @4])
* @param resultBlock
*
*/
+ (void)showAddressPickerWithSelectIndexs:(NSArray <NSNumber *>*)selectIndexs
resultBlock:(BRAddressResultBlock)resultBlock;
/**
* 2.
*
* @param mode
* @param selectIndexs (@[@10, @0, @4])
* @param isAutoSelect NO
* @param resultBlock
*
*/
+ (void)showAddressPickerWithMode:(BRAddressPickerMode)mode
selectIndexs:(NSArray <NSNumber *>*)selectIndexs
isAutoSelect:(BOOL)isAutoSelect
resultBlock:(BRAddressResultBlock)resultBlock;
/**
* 3.
*
* @param mode
* @param dataSource
* @param selectIndexs (@[@10, @0, @4])
* @param isAutoSelect NO
* @param resultBlock
*
*/
+ (void)showAddressPickerWithMode:(BRAddressPickerMode)mode
dataSource:(NSArray *)dataSource
selectIndexs:(NSArray <NSNumber *>*)selectIndexs
isAutoSelect:(BOOL)isAutoSelect
resultBlock:(BRAddressResultBlock)resultBlock;
@end