UIPickerView 实现多列选择栏
2012-05-18 14:57
357 查看
首先要实现以下两个代理:UIPickerViewDelegate、UIPickerViewDatasource
UIPickerViewDelegate中的方法:
– pickerView:rowHeightForComponent:
– pickerView:widthForComponent:
– pickerView:titleForRow:forComponent:
– pickerView:viewForRow:forComponent:reusingView:
– pickerView:didSelectRow:inComponent:
UIPickerViewDatasource中的方法:
– numberOfComponentsInPickerView:
– pickerView:numberOfRowsInComponent:
下面是一些儿实例中的代码
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{
return 2;
}
//用于设置pickerView多少列选择栏
- (NSInteger)pickerView:(UIPickerView *)pickerView
numberOfRowsInComponent:(NSInteger)component{
if (component == PickerOne) {
return [array1 count];
}
return [array2 count];
}
//设置每一列有多少个行数
- (NSString *)pickerView:(UIPickerView *)pickerView
titleForRow:(NSInteger)row
forComponent:(NSInteger)component{
if (component == PickerOne) {
return [self.array1 objectAtIndex:row];
}
NSArray * array=[self.dictionary2 allValues];
array=[array sortedArrayUsingSelector:@selector(compare:)];
return [self.dictionary2 valueForKey:[array2 objectAtIndex:row]];
}
//设置每列数据
- (CGFloat)pickerView:(UIPickerView *)pickerView
widthForComponent:(NSInteger)component{
if (component==0) {
return 120;
}
return 200;
}
//设置每列的宽度
- (void)pickerView:(UIPickerView *)pickerView
didSelectRow:(NSInteger)row
inComponent:(NSInteger)component{
if (component==0) {
self.UMengFeedbackGender=row;
}
if (component==1) {
self.UMengFeedbackAge=row;
}
[self showButtonText:[self.dictionary1 valueForKey:[NSString
stringWithFormat:@"%d",
self.UMengFeedbackGender]]
stringAge:[self.dictionary2 valueForKey:[NSString
stringWithFormat:@"%d",
self.UMengFeedbackAge]]];
}
//设置选中一行后触发的事件
UIPickerViewDelegate中的方法:
– pickerView:rowHeightForComponent:
– pickerView:widthForComponent:
– pickerView:titleForRow:forComponent:
– pickerView:viewForRow:forComponent:reusingView:
– pickerView:didSelectRow:inComponent:
UIPickerViewDatasource中的方法:
– numberOfComponentsInPickerView:
– pickerView:numberOfRowsInComponent:
下面是一些儿实例中的代码
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{
return 2;
}
//用于设置pickerView多少列选择栏
- (NSInteger)pickerView:(UIPickerView *)pickerView
numberOfRowsInComponent:(NSInteger)component{
if (component == PickerOne) {
return [array1 count];
}
return [array2 count];
}
//设置每一列有多少个行数
- (NSString *)pickerView:(UIPickerView *)pickerView
titleForRow:(NSInteger)row
forComponent:(NSInteger)component{
if (component == PickerOne) {
return [self.array1 objectAtIndex:row];
}
NSArray * array=[self.dictionary2 allValues];
array=[array sortedArrayUsingSelector:@selector(compare:)];
return [self.dictionary2 valueForKey:[array2 objectAtIndex:row]];
}
//设置每列数据
- (CGFloat)pickerView:(UIPickerView *)pickerView
widthForComponent:(NSInteger)component{
if (component==0) {
return 120;
}
return 200;
}
//设置每列的宽度
- (void)pickerView:(UIPickerView *)pickerView
didSelectRow:(NSInteger)row
inComponent:(NSInteger)component{
if (component==0) {
self.UMengFeedbackGender=row;
}
if (component==1) {
self.UMengFeedbackAge=row;
}
[self showButtonText:[self.dictionary1 valueForKey:[NSString
stringWithFormat:@"%d",
self.UMengFeedbackGender]]
stringAge:[self.dictionary2 valueForKey:[NSString
stringWithFormat:@"%d",
self.UMengFeedbackAge]]];
}
//设置选中一行后触发的事件
相关文章推荐
- UIPickerView的简单应用——省份/城市选择的实现
- UIPickerView选择控件实现选择轮播效果(转轮效果)
- Android中使用开源框架Citypickerview实现省市区三级联动选择
- UIPickerView【随机点菜系统 && 省市联动 && 选择国旗】
- UIPickerView实现年月选择器
- UIPickerView(滚动选择控制器)
- 使用UIPickerView实现弹出提示框
- UIPickerView选择视图
- iOS开发-数据选择UIPickerView
- iOS学习之UIPickerView控件的关联选择
- 利用WheelView实现时间选择器DatePicker
- iOS学习之UIPickerView控件的关联选择
- 代码实现UIPickerView
- iOS学习之UIPickerView控件的关联选择
- 十、jquery-ui datepicker实现选择一周的日期
- 使用mint-ui popup和picker实现手机端选择性别的功能踩到的坑
- 代码实现UIPickerView
- PickerView实现全国地址的选择
- 安卓学习笔记---Android-PickerView实现 3D滚轮效果(时间选择器、省市区三级联动,单项选择效果)
- 十、jquery-ui datepicker实现选择一周的日期