IOS開發筆記__ UIPickerView

UIPicker 建立在委派模式上
PickerView 主要有兩個區塊,一個是欄component@ 另一個是列row
(沒有限制可以有多少個欄和列,而這個欄列的數量是由程式碼完成的)

PickerView --- >Controller  之間要建立兩個通道一個是Delegate另一個是DataSource。

而PickerView --- >Controller  是Delegate 
(這個通道主要是回報目前被選的狀態)

而PickerView --- >Controller  透過 DataSource 問Controller 要呈現什麼 
(而這個是PickerView餵資料給Controller)

因此我們先建立通道以下兩個通道







因為有兩個通道,所以要簽兩個協定,而一個類別能簽的協定數量沒有限制!



在簽署協定之後會出現驚嘆號,告訴你有兩個必須要寫的協定實作內容!


判斷方式是缺寫什麼內容 用command去按PickerViewDataSource 會看到
@require @end 之間必須寫的兩個方法 (各語言中的require 中的內容都是必須做的)








接下來把這兩個必須要寫的內容加上去,然後就可以完成了
















這個是PickerView裡面的其他功能之一,可以知道使用者滑到哪個欄哪個列


筆記:
Date Picker 是全球都一樣的格式,所以無法制定內容
PickerView 有內建高度

小技巧! 當看到# 的這段內容,是寫給前置編譯器看的內容,



在畫面上方可以快速跳到想去的方法裡面










整體流程是,先把我們需要的PickView建構出來,看需要幾個欄和幾個列,在程式碼中來呈現!接下來在建立兩個通道,一個回傳狀態另一個回傳資料。

而在這兩個簽署的協定中有必須做的協定內容,其中一個呈現讓畫面呈現有幾欄,另外一個讓畫面呈現有幾列!
在文字內容的部分用陣列來呈現,這樣他取出的數字,即可以直接使用

留言

這個網誌中的熱門文章

IOS_Objective-C學習筆記_(陣列 / 可修改陣列 ;字典 / 可修改字典)..

20170122 Radiobutton功能練習 (溫度轉換)

iOS_開發 拿到 Tableview Cell 上的按鈕是哪一個 (Tableview Cell Button)