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;
选中某一行时执行的回调