# CityPickerDemo **Repository Path**: chenzm_186/CityPickerDemo ## Basic Information - **Project Name**: CityPickerDemo - **Description**: 城市选择器集成 - **Primary Language**: Objective-C - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2018-08-09 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: ios-modules **Tags**: None ## README # CityPickerDemo[城市选择器集成] ## 一、简介 该项目集成了三种类型的城市选择器: > * 1、XXCityPickerView 省市区,可以分级:1省 2省-市 3省-市-区 > * 2、SQSelectAddress 省市区乡/镇,页面跳转 > * 3、RattanCityPicker 省市区,包含邮编地址,开放多个属性设置的接口 ---- ##二、XXCityPickerView使用 ####1、从该项目导入【XXCityPickerView】文件包 ####2、 导入系统库 :libsqlite3.tbd ####3、方法实现 ```oc #import "XXCityPickerView.h" @interface ViewController () @property(nonatomic,strong)XXCityPickerView *cityPicker; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; } ///方法调用 -(void)clickAction{ [self cityPicker]; } - (XXCityPickerView *)cityPicker{ if (_cityPicker == nil){ // 初始化 设置类别 1省 2省-市 3省-市-区 _cityPicker = [[XXCityPickerView alloc]initWithComponents:3]; // 设置代理 _cityPicker.delegate = self; [self.view addSubview:_cityPicker]; } return _cityPicker; } ``` ####4、代理实现 ```oc // ---- 【XXCityPickerViewDelegate】 // 取消 - (void)XXCityPickerViewLeftAction{ [self removeCityPickerView]; } // 完成 - (void)XXCityPickerViewRightAction:(XXCityPickerView *)picker andCity:(NSString *)city andData:(NSMutableDictionary *)dic{ [self removeCityPickerView]; NSLog(@"🐼🐼🐼XXCityPickerView:\n city= %@ dic= %@",city,dic); } -(void)removeCityPickerView{ if (_cityPicker) { [_cityPicker removeFromSuperview]; _cityPicker = nil; } } ``` ---- ##三、SQSelectAddress使用 ####1、导入【SQSelectAddress】文件包 ####2、调用【SQSelectAddressViewController.h】类 ####3、协议声明 ```oc @interface ViewController () ``` ####4、方法实现 ```oc pragma mark - #pragma mark - SQSelectAddress ///页面添加 -(void)sqSelectAddressPockerView{ SQSelectAddressViewController *selectAddressVC = [[SQSelectAddressViewController alloc] init]; //签署协议 selectAddressVC.delegate = self; selectAddressVC.animating = NO; selectAddressVC.footerBg_color = [UIColor greenColor]; selectAddressVC.headerBg_color = [UIColor greenColor]; selectAddressVC.title_font = [UIFont systemFontOfSize:25]; selectAddressVC.titleText_color = [UIColor orangeColor]; [self presentViewController:selectAddressVC animated:YES completion:nil]; } ``` ####5、代理协议实现 ```oc - (void)selectAddressViewController:(SQSelectAddressViewController *)selectController selectedDetailAdreess:(NSString *)address townCode:(NSString *)townCode{ NSLog(@"🐼🐼SQSelectAddress:\n地址=%@ 编码=%@",address,townCode); } ``` ---- ##四、RattanCityPicker使用 ####1、导入[RattanCityPicker]文件包 ####2、方法实现 ```oc #import "RattanCityPicker.h" #pragma mark - #pragma mark - RattanCityPicker -(void)rattanCity{ RattanCityPicker *picker=[[RattanCityPicker alloc] init]; picker.animation_dur = 0.3; picker.toolViewBg_color =[UIColor greenColor]; picker.componentFir_font = [UIFont systemFontOfSize:16]; picker.componentStrFir_color = [UIColor redColor];; picker.componentBgFir_color = [UIColor lightGrayColor]; picker.selectLblStr_font = [UIFont systemFontOfSize:20]; picker.selectLblStr_color = [UIColor redColor]; //点击确定按钮代码块调用 picker.sureBtnBlock = ^(){ }; //获取选择的城市的信息 [picker cityPikerGetSelectCity:^(NSMutableDictionary *dicSelectCity) { [self setTextLbl:dicSelectCity]; NSLog(@"🐼🐼RattanCityPicker:\n%@",dicSelectCity); }]; } ``` ---- ![演示][1] ![SQSelectAddress][2] ![XXCityPickerView][3] ![RattanCityPicker][4] [1]: https://gitee.com/chenzm_186/CityPickerDemo/raw/master/Images/WechatIMG305.jpeg [2]: https://gitee.com/chenzm_186/CityPickerDemo/raw/master/Images/WechatIMG306.jpeg [3]: https://gitee.com/chenzm_186/CityPickerDemo/raw/master/Images/WechatIMG307.jpeg [4]: https://gitee.com/chenzm_186/CityPickerDemo/raw/master/Images/WechatIMG308.jpeg