UIPickerView選擇“省市區(qū)”

本文旨在為大家提供“干貨”,在文章結(jié)尾會提供Demo下載地址胁出。本文內(nèi)容簡單型型,但實(shí)用價(jià)值高,有需要的自取全蝶,并關(guān)注我闹蒜!大牛可繞行抑淫。后續(xù)Richy將定期為大家更新...

閑話不多說了绷落,先給大家看效果展示:

縱觀該例子,用到的知識點(diǎn)僅有UIPickerView結(jié)合數(shù)據(jù)源的使用始苇,但是Richy花費(fèi)了很長時(shí)間才完成砌烁。其中90%的時(shí)間用于手動錄入Province.plist(各省市區(qū)的信息),雖然說錄入數(shù)據(jù)的過程參考了網(wǎng)上已公開的現(xiàn)成的Address.plist(PS:非常感謝共享次內(nèi)容的GG/MM),但是重構(gòu)plist內(nèi)部結(jié)構(gòu)依然是個(gè)繁重的工程函喉,因此各位客官要體諒Richy的辛勞避归。


Now,Richy介紹一下實(shí)現(xiàn)的思路:

一管呵、UIPickerView的使用

1. UIPickerView的創(chuàng)建

2. 遵守兩個(gè)協(xié)議:

3. 常用各協(xié)議下的方法:

4.其他方法:

二梳毙、數(shù)據(jù)源 Province.plist的結(jié)構(gòu)

關(guān)鍵的Key值定義如下:

省:Province捐下;

市:city

區(qū):districts

舉個(gè)Demo中的例子幫大家理解顿天,如下圖:

咱們一起看一下最復(fù)雜的一個(gè)(前提:熟悉plist的結(jié)構(gòu)),那么其他的就是小case了。

return [self.arrayDS[_provinceIndex][@"citys"][_cityIndex][@"districts"] count];

首先,這行內(nèi)容代表的涵義是返回第3列的行數(shù)肖方;

其次篓足,當(dāng)操作第3列時(shí)說明,第1和2列是確定的晶框,故通過兩個(gè)Index記錄其選中的行排抬;

最后,結(jié)果即某一适诙巍(self.arrayDS[_provinceIndex])中的某一市(self.arrayDS[_provinceIndex][@"citys"][_cityIndex])中的所有區(qū)(self.arrayDS[_provinceIndex][@"citys"][_cityIndex][@"districts"])的總數(shù)量([self.arrayDS[_provinceIndex][@"citys"][_cityIndex][@"districts"] count])蹲蒲。

三、細(xì)節(jié)問題處理

1. 三列之間是緊密相關(guān)的侵贵,操作第1列時(shí)届搁,第2和3列會隨之發(fā)生改變;而操作第2列的時(shí)候窍育,第3列會隨之發(fā)生改變卡睦,但第1列確實(shí)固定的;而操作第3列的時(shí)候漱抓,第1和2列均固定表锻。

2. 基于上邊內(nèi)容,從而決定了你什么時(shí)間記錄省市區(qū)的選中Index(eg:_cityIndex = row;),同時(shí)也決定了你什么時(shí)間重置數(shù)據(jù)(eg: _districtIndex = 0;)以及刷新數(shù)據(jù)展示(-reloadComponent)乞娄,具體見下圖:

四瞬逊、最后,感謝大家堅(jiān)持看完本文仪或。您的鼓勵和支持是Richy的動力源泉确镊。


簡書地址:http://www.reibang.com/users/76e87d7d8887/latest_articles

GitHub:https://github.com/RichyLeo

Demo下載地址:https://github.com/RichyLeo/ProvincePickerView.git

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市溶其,隨后出現(xiàn)的幾起案子骚腥,更是在濱河造成了極大的恐慌,老刑警劉巖瓶逃,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件束铭,死亡現(xiàn)場離奇詭異廓块,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)契沫,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進(jìn)店門带猴,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人懈万,你說我怎么就攤上這事拴清。” “怎么了会通?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵口予,是天一觀的道長。 經(jīng)常有香客問我涕侈,道長沪停,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任裳涛,我火速辦了婚禮木张,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘端三。我一直安慰自己舷礼,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布郊闯。 她就那樣靜靜地躺著妻献,像睡著了一般。 火紅的嫁衣襯著肌膚如雪团赁。 梳的紋絲不亂的頭發(fā)上旋奢,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天,我揣著相機(jī)與錄音然痊,去河邊找鬼至朗。 笑死,一個(gè)胖子當(dāng)著我的面吹牛剧浸,可吹牛的內(nèi)容都是我干的锹引。 我是一名探鬼主播,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼唆香,長吁一口氣:“原來是場噩夢啊……” “哼嫌变!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起躬它,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤腾啥,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體倘待,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡疮跑,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了凸舵。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片祖娘。...
    茶點(diǎn)故事閱讀 37,997評論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖啊奄,靈堂內(nèi)的尸體忽然破棺而出渐苏,到底是詐尸還是另有隱情,我是刑警寧澤菇夸,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布琼富,位于F島的核電站,受9級特大地震影響庄新,放射性物質(zhì)發(fā)生泄漏公黑。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一摄咆、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧人断,春花似錦吭从、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至暇仲,卻和暖如春步做,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背奈附。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工全度, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人斥滤。 一個(gè)月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓将鸵,卻偏偏與公主長得像,于是被迫代替她去往敵國和親佑颇。 傳聞我的和親對象是個(gè)殘疾皇子顶掉,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評論 2 345

推薦閱讀更多精彩內(nèi)容