参考:http://jinkeu.blog.163.com/blog/static/2089212920119114276787/

UIPickerView *pickerView = [[UIPickerView alloc] initWithFrame:CGRectZero];
 pickerView.autoresizingMask = UIViewAutoresizingFlexibleHeight|UIViewAutoresizingFlexibleWidth; //这里设置了就可以自定                                                                                                                           义高度了,一般默认是无法修改其216像素的高度
 pickerView.dataSource = self;   //这个不用说了瑟
 pickerView.delegate = self;       //这个不用说了瑟
 pickerView.frame = CGRectMake(0, 84, 320, 100);
 pickerView.showsSelectionIndicator = YES;    //这个最好写 你不写来试下哇
 
 [self.view addSubview:pickerView];
 [pickerView release];
 
  

  /****************************下面是数据源和代理的实现***********************************/ 

 
 #pragma mark -
 #pragma mark UIPickerViewDataSource
 
 - (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
 {
 return 2;     //这个picker里的组键数
 }
 
 - (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
 {
 return [self.pickerNameArray count];  //数组个数
 }
 #pragma mark -
 #pragma mark UIPickerViewDelegate
 /************************重头戏来了************************/
 - (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view
 {
 UILabel *myView = nil;       
 if (component == 0) {
 myView = [[[UILabel alloc] initWithFrame:CGRectMake(0.0, 0.0, 100, 30)] autorelease];
 myView.textAlignment = UITextAlignmentCenter;
 myView.text = [pickerNameArray objectAtIndex:row];
 myView.font = [UIFont systemFontOfSize:14];         //用label来设置字体大小
 myView.backgroundColor = [UIColor clearColor];
 }else {
 myView = [[[UILabel alloc] initWithFrame:CGRectMake(0.0, 0.0, 180, 30)] autorelease];
 myView.text = [pickerPlaceArray objectAtIndex:row];
 myView.textAlignment = UITextAlignmentCenter;
 myView.font = [UIFont systemFontOfSize:14];
 myView.backgroundColor = [UIColor clearColor];
 }
 return myView;
 }
 
 - (CGFloat)pickerView:(UIPickerView *)pickerView widthForComponent:(NSInteger)component
 {
 CGFloat componentWidth = 0.0;
 
 if (component == 0)
 componentWidth = 100.0; // 第一个组键的宽度  
 else
 componentWidth = 180.0; // 第2个组键的宽度
 
 return componentWidth;
 }
 
 - (CGFloat)pickerView:(UIPickerView *)pickerView rowHeightForComponent:(NSInteger)component
 {
 return 40.0;
 }
左右比例:------------------------------------------------------------
 - (CGFloat)pickerView:(UIPickerView *)pickerView widthForComponent:(NSInteger)component
 {
 if(component == 1)    
     return 108;
 return 200;
 }
 整体大小:------------------------------------------------------
 customPickerView = [[UIPickerView alloc] initWithFrame:CGRectZero];
     customPickerView.autoresizingMask = UIViewAutoresizingFlexibleWidth;
     customPickerView.tag = 101;
     customPickerView.dataSource = self;
     customPickerView.delegate = self;
     customPickerView.frame = CGRectMake(176, 187, 132, 80);    
     customPickerView.showsSelectionIndicator = YES;------------------------------------------------------
- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row
           forComponent:(NSInteger)component reusingView:(UIView *)view
 {
     mycom1 = view ? (UILabel *) view : [[UILabel alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 60.0f, 30.0f)];
     
         NSString *imgstr1 = [[NSString alloc] initWithFormat:@"%d", row];
         mycom1.text = imgstr1;    
         [mycom1 setFont:[UIFont boldSystemFontOfSize:30]];
         mycom1.backgroundColor = [UIColor clearColor];
         CFShow(mycom1);
         [imgstr1 release];        
     
     return mycom1;    
 }