iOS UIPickerView

UIPickerView 选择视图

@interface UIPickerView : UIView <NSCoding, UITableViewDataSource>

@property(nonatomic,assign) id<UIPickerViewDataSource> dataSource;                // default is nil. weak reference

@property(nonatomic,assign) id<UIPickerViewDelegate>   delegate;                  // default is nil. weak reference   

@end


dataSource:数据源,<UIPickerViewDataSource>

- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component;//返回某列有多少行

- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView; //返回有多少列


delegate:委托者,<UIPickerViewDelegate>

- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component;  //返回某行某列显示的字符   

- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component;  //选中某行某列时触发

//返回某行某列显示的view,如果实现了该方法那么第1个方法的效果就被覆盖

- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view; 

- (CGFloat)pickerView:(UIPickerView *)pickerView rowHeightForComponent:(NSInteger)component; //返回行的高度 

- (CGFloat)pickerView:(UIPickerView *)pickerView widthForComponent:(NSInteger)component; //返回列宽


应用UIPickerView时,设定dataSourcedelegate为某个UIViewController,通过storyboard或代码均可。在VC实现上述两个协议,重写需要的方法

你可能感兴趣的:(ios)