UI進階1 UIDatePicker

UIPickView和UIDatePicker

  • 1.UIPickView什么時候用?
    ? 通常在注冊模塊,當用戶需要選擇一些東西的時候,比如說城市,往往
    彈出一個PickerView給他們選擇沮稚。 ? 老虎機效果
  • 2.UIPickView常見用法,演示實例程序
    • 1>獨立的,沒有任何關(guān)系 =>菜單系統(tǒng)。
    • 2>相關(guān)聯(lián)的,下一列和第一列有聯(lián)系=>省會城市選擇
    • 3>圖文并帽,=>國旗選擇。
  • 3.UIPickView
  • 4.UIDatePicker什么時候用? 當用戶選擇日期的時候,一般彈出一個UIDatePicker給用戶選擇片吊。
  • 5.UIDatePickerios6和ios7的區(qū)別

點餐系統(tǒng)PickerView

  • 1.搭建界面
    • 1> 注意點:PickerView的高度不能改,默認162,PickerView里面每行的高度 可以改,不要弄混淆了吓揪。
  • 2.pickerView顯示數(shù)據(jù)
    • 1> 如何使用PickerView展示數(shù)據(jù)? 進入PickerView頭文件,有數(shù)據(jù)源和代理,聯(lián)想到UITableView,模仿 UITableView的用法监憎。
    • 2> 讓控制器作為PickerView的數(shù)據(jù)源,控制器遵守PickerView的數(shù)據(jù)源方法
      • 2.1>兩種方式:1.拖線 2.代碼 - - -
      • 2.2>系統(tǒng)自帶的控件,數(shù)據(jù)源和代理屬性不需要IBOutlet,也能拖 線庆揩。自己的屬性,想要拖線,必須寫IBOutlet膳叨。
    • 3> PickerView的數(shù)據(jù)源方法
      • 1> numberOfComponentsInPickerView: 返回多少列
      • 2> pickerView:numberOfRowsInComponent: 返回第component列有多少 行
      • 3> 和UITableView的區(qū)別,每一行長什么樣,是由PickerView的代理決 定的洽洁。
      • 4> 注意:如果沒有返回每一行長什么樣子,每行就會顯示?,看見?,就 知道沒有實現(xiàn)每一行長什么樣子的方法。
    • 4> PickerView的代理方法
      • 1> 返回第component列第row行長什么樣菲嘴。
第component列第row行的展示標題
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
第component列第row行帶屬性的標題
- (NSAttributedString *)pickerView:(UIPickerView *)pickerView attributedTitleForRow:(NSInteger)row forComponent:(NSInteger) component
第component列第row行展示的視圖
- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view;
- gView:(UIView *)view;
 - 2> 返回第component列每一行的高度和寬度
- (CGFloat)pickerView:(UIPickerView *)pickerView widthForComponent:(NSInteger)component;
- (CGFloat)pickerView:(UIPickerView *)pickerView rowHeightForComponent:(NSInteger)component;
 - 3> 選中第component列第row行調(diào)用
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component;
    1. 加載plist數(shù)據(jù)
    • 1> 分析數(shù)據(jù)結(jié)構(gòu)
      • 1> 大數(shù)組元素個數(shù):多少列
      • 2>大數(shù)組里面的小數(shù)組: 這一列有多少行饿自。
      • 3> 小數(shù)組里的字符串: 每行展示的樣子
  • 4.處理菜單選中業(yè)務(wù)
    • 1> 選中某一列某一行,顯示出來
    • 2> 拖動不同列,改變不同的label,拖動第一列改變水果。
    • 3> 判斷拖動哪一列,改變對應(yīng)的label
    • 4> 在viewDidLoad中初始化label顯示
    • 5> 取出數(shù)組中的數(shù)據(jù)給label直接賦值 _fruitLabel.text = self.foots[0][0]; 這種 方式不好,如果以后數(shù)組里有很多數(shù)據(jù),要寫很多行龄坪。
    • 6> 還有另外一種方式,通過調(diào)用代理,給label賦值.唯一不同的,就是列 數(shù),搞個for循序就好了昭雌。
  • 5.隨機選中某一列的某一行
    • 1> 如何選中某一行 [self.pickerView selectRow:row inComponent:component
      animated:YES];
    • 2> 先隨機選中第0列的某一行,隨機數(shù)取值范圍看第0列總共有多少行,
      arc4random_uniform(x)隨機0~x-1的數(shù)
    • 3> 避免隨機出來的行數(shù)都一樣,需要判斷下,隨機出來的行數(shù)和當前選中 的是否一樣,一樣就重新隨機,用while判斷,直到隨機到不一樣,才行。
    • 4> 問題:label沒有顯示最新選中的一行悉默。
      原因:手動調(diào)用pickview滾動,選中某一行,不會觸發(fā)代理,我們自己 主動調(diào)用代理,讓lebel顯示選中哪一行.
      注意:只有用戶手動滾動才可以觸發(fā)pickview的代理方法城豁。
    • 5> 每一列都要隨機選中,弄個for循序,遍歷每一列都隨機選中
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市抄课,隨后出現(xiàn)的幾起案子唱星,更是在濱河造成了極大的恐慌雳旅,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,948評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件间聊,死亡現(xiàn)場離奇詭異攒盈,居然都是意外死亡,警方通過查閱死者的電腦和手機哎榴,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,371評論 3 385
  • 文/潘曉璐 我一進店門型豁,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人尚蝌,你說我怎么就攤上這事迎变。” “怎么了飘言?”我有些...
    開封第一講書人閱讀 157,490評論 0 348
  • 文/不壞的土叔 我叫張陵衣形,是天一觀的道長。 經(jīng)常有香客問我姿鸿,道長谆吴,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,521評論 1 284
  • 正文 為了忘掉前任苛预,我火速辦了婚禮句狼,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘热某。我一直安慰自己腻菇,他們只是感情好,可當我...
    茶點故事閱讀 65,627評論 6 386
  • 文/花漫 我一把揭開白布苫拍。 她就那樣靜靜地躺著芜繁,像睡著了一般。 火紅的嫁衣襯著肌膚如雪绒极。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,842評論 1 290
  • 那天蔬捷,我揣著相機與錄音垄提,去河邊找鬼。 笑死周拐,一個胖子當著我的面吹牛铡俐,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播妥粟,決...
    沈念sama閱讀 38,997評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼审丘,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了勾给?” 一聲冷哼從身側(cè)響起滩报,我...
    開封第一講書人閱讀 37,741評論 0 268
  • 序言:老撾萬榮一對情侶失蹤锅知,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后脓钾,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體售睹,經(jīng)...
    沈念sama閱讀 44,203評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,534評論 2 327
  • 正文 我和宋清朗相戀三年可训,在試婚紗的時候發(fā)現(xiàn)自己被綠了昌妹。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,673評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡握截,死狀恐怖飞崖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情谨胞,我是刑警寧澤蚜厉,帶...
    沈念sama閱讀 34,339評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站畜眨,受9級特大地震影響昼牛,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜康聂,卻給世界環(huán)境...
    茶點故事閱讀 39,955評論 3 313
  • 文/蒙蒙 一贰健、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧恬汁,春花似錦伶椿、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,770評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至约巷,卻和暖如春偎痛,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背独郎。 一陣腳步聲響...
    開封第一講書人閱讀 32,000評論 1 266
  • 我被黑心中介騙來泰國打工踩麦, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人氓癌。 一個月前我還...
    沈念sama閱讀 46,394評論 2 360
  • 正文 我出身青樓谓谦,卻偏偏與公主長得像,于是被迫代替她去往敵國和親贪婉。 傳聞我的和親對象是個殘疾皇子反粥,可洞房花燭夜當晚...
    茶點故事閱讀 43,562評論 2 349

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

  • 一、介紹UIPickView和UIDatePicker 1.UIPickView什么時候用? ?通常在注冊模塊,當...
    Hevin_Chen閱讀 1,126評論 0 2
  • 廢話不多說,直接上干貨 ---------------------------------------------...
    小小趙紙農(nóng)閱讀 3,343評論 0 15
  • 忙完了新品訂貨才顿,發(fā)完了活動禮品莫湘,出口氣,竟然感覺不知道要干嘛 約了小姐妹逛街娜膘,卻發(fā)現(xiàn)沒有買衣服的必要逊脯,一個天天穿著...
    ai兔子姐姐閱讀 96評論 1 1
  • 你被小程序的什么驚呆了演怎?一場莫名奇妙的技術(shù)營銷之后匕争,會有哪些新思考? 關(guān)于小程序爷耀,白天說了它的亮點和突破甘桑,事實上嘗...
    元子豐豐閱讀 186評論 0 0
  • 坐在哪里 表面看起來是角度的問題 其實坐在地球上還是月球上 如果沒有觀念上核心地位的落差 估計就剩下屁股的冷與熱
    局中半子閱讀 132評論 0 0