UIPickerView的使用
来源:互联网 发布:安卓手机编程入门 编辑:程序博客网 时间:2024/05/17 07:38
二:UIPickerViewDataSource
1、返回UIPickerView一共有几列
- (NSInteger) numberOfComponentsInPickerView:(UIPickerView *)pickerView;
2、返回定制的component列有几行数据
- (NSInteger) pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component;
//选中某一列某一行
NSInteger rowIndex=[self.pickerselectedRowInComponent:0];//获取选中的位置
[self.pickerselectRow:rowIndexinComponent:componentanimated:NO];通过该方法滚动到指定的位置.部分代理方法代码如下:
#pragma mark----pickerViewDelegate---------
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView*)pickerView
{
if (isSexPicker==YES) {//显示两种类型的UIPickerView
return 1;
}else{
return 2;
}
}
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
if (isSexPicker==YES) {
return sexs.count;
}else{
if (component==0) {
return cityList.count;//省份
}
return childCityList.count;//市的个数
}
}
//自定义显示内容
-(UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view{
UIView *view1=[[UIViewalloc]initWithFrame:CGRectMake(0,0,APPW,50)];
UILabel *label=[[UILabelalloc]init];
if (isSexPicker==YES) {
label.frame=CGRectMake(APPW/2.0-10,0,APPW,50);
label.text=sexs[row];
}else{
if (component==0) {//第一列
label.frame=CGRectMake(APPW*0.4,0,APPW/2,50);
label.text=[cityListobjectAtIndex:row][@"name"];
}elseif (component==1) {//第二列
label.frame=CGRectMake(100,0,APPW/2,50);
label.text=childCityList[row][@"name"];
}
}
[view1addSubview:label];
return view1;
}
-(CGFloat)pickerView:(UIPickerView *)pickerView rowHeightForComponent:(NSInteger)component{
return 50;
}
//当用户选中UIPickerViewDataSource中指定列、指定列表项时激发该方法
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:
(NSInteger)row inComponent:(NSInteger)component
{
if (isSexPicker==YES) {
self.contentComponent=sexs[row];
self.sexIndex=row;//记录位置
}else{
if (component==0) {
self.oneComponent=cityList[row][@"name"];
self.proviceIndex=row;//记录省份的位置位置
//重点:根据选中省份的位置获取第二列显示的数据并刷新,这样才可以看到实时显示数据的效果
NSDictionary *dic = [cityListobjectAtIndex:row];
childCityList =[NSArrayarrayWithArray:[dic objectForKey:@"childrenList"]];//获取市城市名称
[pickerViewreloadComponent:1];
}elseif(component==1){
self.twoComponent=childCityList[row][@"name"];
self.mayorIndex=row;
}
}
}
- (CGFloat)pickerView:(UIPickerView *)pickerView
widthForComponent:(NSInteger)component
{
if (isSexPicker==NO) {
return APPW/2.0;
}
return APPW;
}
- UIPickerView 的使用
- UIPickerView的使用
- UIPickerView 的使用
- UIPickerView的使用
- UIPickerView的使用
- UIPickerView的使用
- UIPickerView的使用
- UIPickerView的使用
- UIPickerView控件的使用
- UIPickerView的简单使用
- iOS UIPickerView的使用
- UIPickerView的简单使用
- UIPickerView的使用
- UIPickerView的使用
- UIPickerView的使用
- UIPickerView的使用
- UIpickerView的使用
- UIPickerView的使用
- hdu 4091 Zombie’s Treasure Chest
- Oracle学习笔记(5)-----------单行函数
- Qt静态库的下载和安装配置
- getErrnoString.c
- WPF 入门 -- Layout:Grid, DockPanel and StackPanel
- UIPickerView的使用
- Stroustrup专访:畅想C++17
- jQuery Callbacks应用关键点
- 安卓间隔一定时间之后动态更新视图【代码实现】
- jquery ajax 向后台传递数组参数示例
- visual studio生成realse和debug .exe可执行文件的方法
- C/C++中如何获取数组的长度?
- shell tr命令详解
- C++中构造函数的执行顺序