2012年2月9日 星期四

[objective C] UIPickerView

UIPickerView 物件的使用為例,這樣種有特定資料的互動,它可以把字串回傳給選擇器,然後顯示於畫面。許多控制項都有屬於自己的delegate及datasource。

[Datasource]

提供在控制項與它需要展示之資料間的橋樑。控制項會問datasource它需要什麼,datasource則負責以控制項期望的格式提供資訊。

遵循 UIPickerViewDatasource協定。
需在*.m實作的方法:

- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component



[Delegate]

delegate負責元素的行為。


遵循 UIPickerViewDelegate協定。
需在*.m實作的方法:
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component




[Protocol]
在 .h 檔要註明需遵守的協定:

@interface ViewController : UIViewController<UIPickerViewDataSource, UIPickerViewDelegate>


最後別忘了在 XIB 檔幫 UIPickerView 和 File's Owner 連結delegate及datasource。如果少了一個步驟都有可能出錯,可能執行後在編譯器沒有看到PickerView物件,或是一編譯就直接當掉。

希望我可以記下來,下次應用在別的物件! Peggy加油~

沒有留言:

張貼留言