天天看点

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;

选中某一行时执行的回调