UI進(jìn)階2 pickerView鍵盤處理

選擇國旗

  • 1.搭建界面
  • 2.設(shè)置pickerView的數(shù)據(jù)源 - -
  • 3.分析有多少列,只有一列,因?yàn)槭俏淖趾蛨D片是同時(shí)滾動,如果兩列的話, 不會同時(shí)滾動
  • 4.加載plist數(shù)據(jù),分析數(shù)據(jù)結(jié)構(gòu)
    plist是個(gè)數(shù)組:返回這一列有多少行國旗
    數(shù)組里是一個(gè)字典:描述著國旗的屬性
  • 5.字典轉(zhuǎn)模型
  • 6.有了數(shù)據(jù)就需要把數(shù)據(jù)展示到界面,不能用返回每行標(biāo)題的方法
  • 7.搞一個(gè)View,每行需要展示一個(gè)標(biāo)題和圖片 -
  • 8.自定義view,系統(tǒng)自帶的UIView,不好使
  • 9.用xib描述自定義view,里面控件是固定的
  • 10.設(shè)置每行的高度為44 -
  • 11.返回每行cell樣子的代理方法,reusingView在ios7沒有效果,view永遠(yuǎn)都是 空,沒有做緩存输硝。

鍵盤處理

  • 1.搭建界面
  • 2.文本框不可以讓用戶編輯
    • 2.1不能設(shè)置enable= NO,鍵盤不能彈出來
    • 2.2 通過代理,不允許用戶輸入,只有生日和城市不需要用戶輸入,添加 一個(gè)判斷
  • 3.自定義生日鍵盤
    • 3.1 UIDatePicker基本使用,模式,地區(qū) - -
    • 3.2監(jiān)聽UIDatePicker的事件,繼承UIControl,直接addTarget - 3.3日期格式對象,把date轉(zhuǎn)換字符串,顯示到文本框
  • 4.自定義城市鍵盤
    • 4.1 UIPickerView,展示數(shù)據(jù)需要設(shè)置數(shù)據(jù)源和代理 -
    • 4.2解析plist數(shù)據(jù),分析數(shù)據(jù)結(jié)構(gòu)
      plist是個(gè)數(shù)組,表示有多少個(gè)省份
      數(shù)組里是一個(gè)字典,里面包含省份的信息,名稱和城市列表
    • 4.3 實(shí)現(xiàn)數(shù)據(jù)源和代理,把數(shù)據(jù)展示到視圖
    • 4.4 和之前的點(diǎn)餐不一樣,之前直接能獲取到每一列有多少行,這里需要 判斷當(dāng)前是哪一列,根據(jù)第0列獲取第1列的行數(shù),第0列是省,第1列是 城市,城市由省決定
    • 4.5 返回第component列多少行
    • 4.6 返回第component列第row行的標(biāo)題,這里的行號可能是第0列的和第 1列的,需要做判斷。第0列的row,表示是哪個(gè)省,第1列的row,表示 是當(dāng)前第1列選中的省會的哪個(gè)城市。
      第0列,省會的標(biāo)題,取決于省會數(shù)組行號 第1列,城市的標(biāo)題,取決于當(dāng)前選中哪個(gè)省
    • 4.7 解決二級聯(lián)動的問題,兩列同時(shí)滾動,會報(bào)角標(biāo)越界錯(cuò)誤
      • 原因:返回每一行的樣子的代理方法會經(jīng)常調(diào)用,只要有新的一行 出現(xiàn)就會調(diào)用。這里每次都會獲取最新選中的省,而第0列展示的 是之前選中的省會,如果最新選中的省會的城市總數(shù)小于之前選中 的省會。
      • 假設(shè):最新選中的城市只有有4個(gè),但是之前選中的省會城市有10 行,當(dāng)?shù)?列滾到5就會報(bào)角標(biāo)越界錯(cuò)誤磨确。
      • 解決方式:這里不能獲取最新的選中省會,需要記錄之前選中的, 且只需要記錄一次,在選中一行的代理方法里記錄。 注意:在刷新城市之前記住省會角標(biāo),應(yīng)該刷新的城市,是當(dāng)前選 中的省會的城市。
    • 4.8 監(jiān)聽城市選擇,選中新的省會身隐。
      • 1> 記錄選中的省會
      • 2> 刷新第1列
      • 3> 第一列默認(rèn)選中第一個(gè)城市
      • 4> 把選中的省會和獲取選中的城市顯示到文本框
      • 5.添加自定義鍵盤工具條
        • 5.1 封裝工具條:繼承UIView,原因:不讓外界知道里面是什么東西,就不 能修改Toolbar里面的東西。
        • 5.2固定的,用xib 述,并且 供類方法快速創(chuàng)建對象 - 5.3整個(gè)文本框應(yīng)該擁有同一個(gè)鍵盤工具條,懶加載一個(gè)鍵盤工具條,然 后遍歷所有的文本框,搞個(gè)可變數(shù)組把所有文本框添加到數(shù)組
        • 5.4監(jiān)聽item點(diǎn)擊,通過代理通知控制器唯灵。
        • 5.5當(dāng)點(diǎn)擊下一個(gè),應(yīng)該是后面的文本框有彈出鍵盤,成為第一響應(yīng)者, 怎么判斷下一個(gè)文本框是誰?
          ○ 把所有文本框加入到數(shù)組中,記錄當(dāng)前彈出鍵盤的文本框所在的角 標(biāo),++就是下一個(gè)文本框了贾铝。
          ○ 在文本框開始編輯的時(shí)候,記錄,編輯的文本框就是彈出鍵盤的文 本框
        • 5.6 解決角標(biāo)越界的問題,當(dāng)當(dāng)前彈出鍵盤的文本框是第一個(gè)角標(biāo)的時(shí) 候,上一個(gè)不允許點(diǎn)擊
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子垢揩,更是在濱河造成了極大的恐慌玖绿,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,427評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件水孩,死亡現(xiàn)場離奇詭異镰矿,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)俘种,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評論 3 395
  • 文/潘曉璐 我一進(jìn)店門秤标,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人宙刘,你說我怎么就攤上這事苍姜。” “怎么了悬包?”我有些...
    開封第一講書人閱讀 165,747評論 0 356
  • 文/不壞的土叔 我叫張陵衙猪,是天一觀的道長。 經(jīng)常有香客問我布近,道長垫释,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,939評論 1 295
  • 正文 為了忘掉前任撑瞧,我火速辦了婚禮棵譬,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘预伺。我一直安慰自己订咸,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,955評論 6 392
  • 文/花漫 我一把揭開白布酬诀。 她就那樣靜靜地躺著脏嚷,像睡著了一般。 火紅的嫁衣襯著肌膚如雪瞒御。 梳的紋絲不亂的頭發(fā)上父叙,一...
    開封第一講書人閱讀 51,737評論 1 305
  • 那天,我揣著相機(jī)與錄音葵腹,去河邊找鬼高每。 笑死,一個(gè)胖子當(dāng)著我的面吹牛践宴,可吹牛的內(nèi)容都是我干的鲸匿。 我是一名探鬼主播,決...
    沈念sama閱讀 40,448評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼阻肩,長吁一口氣:“原來是場噩夢啊……” “哼带欢!你這毒婦竟也來了运授?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,352評論 0 276
  • 序言:老撾萬榮一對情侶失蹤乔煞,失蹤者是張志新(化名)和其女友劉穎吁朦,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體渡贾,經(jīng)...
    沈念sama閱讀 45,834評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡逗宜,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,992評論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了空骚。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片纺讲。...
    茶點(diǎn)故事閱讀 40,133評論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖囤屹,靈堂內(nèi)的尸體忽然破棺而出熬甚,到底是詐尸還是另有隱情,我是刑警寧澤肋坚,帶...
    沈念sama閱讀 35,815評論 5 346
  • 正文 年R本政府宣布乡括,位于F島的核電站,受9級特大地震影響智厌,放射性物質(zhì)發(fā)生泄漏诲泌。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,477評論 3 331
  • 文/蒙蒙 一铣鹏、第九天 我趴在偏房一處隱蔽的房頂上張望档礁。 院中可真熱鬧,春花似錦吝沫、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,022評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至脊髓,卻和暖如春辫愉,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背将硝。 一陣腳步聲響...
    開封第一講書人閱讀 33,147評論 1 272
  • 我被黑心中介騙來泰國打工恭朗, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人依疼。 一個(gè)月前我還...
    沈念sama閱讀 48,398評論 3 373
  • 正文 我出身青樓痰腮,卻偏偏與公主長得像,于是被迫代替她去往敵國和親律罢。 傳聞我的和親對象是個(gè)殘疾皇子膀值,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,077評論 2 355

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

  • 一棍丐、介紹UIPickView和UIDatePicker 1.UIPickView什么時(shí)候用? ?通常在注冊模塊,當(dāng)...
    Hevin_Chen閱讀 1,144評論 0 2
  • 1、窗體 1沧踏、常用屬性 (1)Name屬性:用來獲取或設(shè)置窗體的名稱歌逢,在應(yīng)用程序中可通過Name屬性來引用窗體。 ...
    Moment__格調(diào)閱讀 4,549評論 0 11
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,185評論 25 707
  • 剛才看了六六的一篇文章《別人家的孩子》,想想自己頗有感觸潦匈。 我和我的小伙伴們阱高,都屬于被父母耳提面命、教導(dǎo)一定要好好...
    曉妮臆空間閱讀 574評論 2 0
  • 三月 我要原諒一條走失的河流 原諒江南明媚的桃花 擦亮北方的憂愁 原諒一場冰冷雪 推遲了春天的花瓣 二月已成舊事 ...
    夢雙眸閱讀 321評論 0 5