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;
選中某一行時執行的回調