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