最近無事,就將之前用到的一些功能組件做了簡單封裝,方便下次使用。
時間選擇器
效果:
| 效果1 | 效果2 |
|---|---|
![]() 1.gif
|
![]() 2.gif
|
這個沒有什么可以講的,主要是方便用。有需要的可以參考下。
地址選擇器
效果:
| 效果1 | 效果2 |
|---|---|
![]() 1.gif
|
![]() 2.gif
|
這個是自帶了一份plist文件,自身有一個默認實現(xiàn)了YHTAddressDataSource協(xié)議的類YHTAddressDefaultDataSource,
若果你需要更換數(shù)據(jù)源或動態(tài)請求獲得數(shù)據(jù)源,只需實現(xiàn)YHTAddressDataSource該協(xié)議,重設(shè)控制器的dataSource即可。
/**
獲取省份列表根據(jù)國家
@param mdoel 國家(可為nil, 默認中國)
@param listBlock 獲取列表回調(diào)
*/
- (void)getProvinceByCountry:(YHTAddressModel *)mdoel list:(YHTAddressListBlock)listBlock;
/**
獲取城市列表根據(jù)省份
@param model 省份
@param listBlock 獲取列表回調(diào)
*/
- (void)getCityByProvince:(YHTAddressModel *)model list:(YHTAddressListBlock)listBlock;
/**
獲取區(qū)域列表根據(jù)城市
@param model 城市
@param listBlock 獲取列表回調(diào)
*/
- (void)getRegionByCity:(YHTAddressModel *)model list:(YHTAddressListBlock)listBlock;
在對應的方法內(nèi)通過block將所需列表回傳進來即可。
此處不用擔心請求等異步導致數(shù)據(jù)紊亂問題,block回調(diào)時內(nèi)部做了序列化處理,保證了展示的總是最新的(詳細實現(xiàn)可參考源碼)。
結(jié)束
詳細可參考README和源碼示例等,這兩個控件都支持cocopods的使用,若有什么問題或其它,歡迎提Issue或聯(lián)系我~
看~灰機~灰機灰過來了~灰機又灰過去了



