iOS 城市选取控制器:CFCityPickerVC

jopen 9年前


CFCityPickerVC

城市选取控制器


框架说明

注:请直接拖拽CFCityPickerVC文件夹到你的项目即可,由于城市具有中国特色,所以只有中文版本。不支持pod。

1.原创框架,无需任何依赖,直接即可使用。
2.支持自动定位。
3.支持自定义热门城市。
4.支持自定义当前城市。
5.全部使用Closure回调,没有代理!
6.支持ios 7.0及以上,支持横竖屏!


功能演示

1.基本展示

image

2.索引展示:索引快速定位

image

3.城市选择与回调:closure回调,请注意控制台打印

image

4.历史选择:请注意历史城市与其排序

image

5.自定义检索:自动回调,历史记录同样可用

image

6.横屏支持

image


使用说明


1.导入

直接拖拽CFCityPickerVC文件夹到您项目中即可

由于是拖拽式,所以swift中的命名空间不能很好的发挥,所以框架有一定的前缀,不过在类的归属上,我尽量使用了命名空间的原则。其中最明显的就是CityModel是使用了命名空间。

1.搜索框的cancel按钮如果需要中文,请添加中文多语言支持即可
2.iOS 8定位,请在info.plist 中添加NSLocationWhenInUseUsageDescription 说明文字


2.model展示城市控制器

由于您的项目的导航栏肯定是定制的,所以我这里是让您自己来传您的NavVC,请不要直接modal框架中的CFCityPickerVC,不然会没有导航栏:

  let cityVC = CFCityPickerVC()    //设置城市数据    let cityModels = cityModelsPrepare()    cityVC.cityModels = cityModels    let navVC = UINavigationController(rootViewController: cityVC)    navVC.navigationBar.barStyle = UIBarStyle.BlackTranslucent    self.presentViewController(navVC, animated: true, completion: nil)

注:这里的设置城市数据,你数据可以来自网络,我这里来自plist,由于目前swift中一键字典转模型工具还没有完善,所以是手动解析。


3.设置当前城市:直接城市名即可,请不要带有【市】字,如:成都

//设置当前城市  cityVC.currentCity = "成都"

注:当然你这里是可以不用设置的,框架有自动定位机制。如果你手动设置了当前城市,则不会触发自动定位。


4.设置热门城市

//设置热门城市    cityVC.hotCities = ["北京","上海","广州","成都","杭州","重庆"]

注:同样注意不要带有【市】字


5.城市选中事件回调:Closure回调,无代理

//选中了城市    cityVC.selectedCityModel = { (cityModel: CFCityPickerVC.CityModel) in      println("您选中了城市: \(cityModel.name)")    }

项目主页:http://www.open-open.com/lib/view/home/1438932998192