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建構出來,看需要幾個欄和幾個列,在程式碼中來呈現!接下來在建立兩個通道,一個回傳狀態另一個回傳資料。
而在這兩個簽署的協定中有必須做的協定內容,其中一個呈現讓畫面呈現有幾欄,另外一個讓畫面呈現有幾列!
在文字內容的部分用陣列來呈現,這樣他取出的數字,即可以直接使用
留言
張貼留言