天天看點

iOS選擇器視圖控件(UIPickerView)使用方法總結

uipickerview是ios中的原生選擇器控件,使用友善,用法簡單,效果漂亮。

@property(nonatomic,assign) id<uipickerviewdatasource> datasource;                

@property(nonatomic,assign) id<uipickerviewdelegate>   delegate; 

設定資料源和代理

@property(nonatomic) bool showsselectionindicator;

是否顯示選擇框,在ios7之後這個屬性沒有任何效果

@property(nonatomic,readonly) nsinteger numberofcomponents;

擷取分區數

- (nsinteger)numberofrowsincomponent:(nsinteger)component;

擷取某一分區的行數

- (cgsize)rowsizeforcomponent:(nsinteger)component;

擷取某一分區行的尺寸

- (uiview *)viewforrow:(nsinteger)row forcomponent:(nsinteger)component;

擷取某一分區某一行的視圖

- (void)reloadallcomponents;

重載所有分區

- (void)reloadcomponent:(nsinteger)component;

重載某一分區

- (void)selectrow:(nsinteger)row incomponent:(nsinteger)component animated:(bool)animated; 

設定選中某一分區某一行

- (nsinteger)selectedrowincomponent:(nsinteger)component;  

傳回某一分區選中的行

資料源代理中的方法:

- (nsinteger)numberofcomponentsinpickerview:(uipickerview *)pickerview;

設定分區數

- (nsinteger)pickerview:(uipickerview *)pickerview numberofrowsincomponent:(nsinteger)component;

根據分區設定行數

代理中的方法:

- (cgfloat)pickerview:(uipickerview *)pickerview widthforcomponent:(nsinteger)component;

設定分區寬度

- (cgfloat)pickerview:(uipickerview *)pickerview rowheightforcomponent:(nsinteger)component;

設定分區行高

- (nsstring *)pickerview:(uipickerview *)pickerview titleforrow:(nsinteger)row forcomponent:(nsinteger)component;

設定某一行顯示的标題

- (nsattributedstring *)pickerview:(uipickerview *)pickerview attributedtitleforrow:(nsinteger)row forcomponent:(nsinteger)component;

通過屬性字元串設定某一行顯示的标題

- (uiview *)pickerview:(uipickerview *)pickerview viewforrow:(nsinteger)row forcomponent:(nsinteger)component reusingview:(uiview *)view;

設定某一行顯示的view視圖

- (void)pickerview:(uipickerview *)pickerview didselectrow:(nsinteger)row incomponent:(nsinteger)component;

選中某一行時執行的回調

繼續閱讀