ios-UIPickerView基本使用

#import "ViewController.h"

@interface ViewController ()<UIPickerViewDataSource,UIPickerViewDelegate>
{
    NSArray *pickerArray;
}
@property (weak, nonatomic) IBOutlet UIPickerView *myPickerView;

@end

@implementation ViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
    _myPickerView.dataSource=self;
    _myPickerView.delegate=self;
    _myPickerView.showsSelectionIndicator=YES;
    pickerArray=[NSArray arrayWithObjects:@"1",@"2",@"3",@"4",@"5",@"6",@"7",@"8",@"9",@"10", nil];
   
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}
-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
    return 3;
}
-(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
    return pickerArray.count;
}

-(UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view
{
    CGRect rect=CGRectMake(0, 0, [self pickerView:pickerView widthForComponent:row], [self pickerView:pickerView rowHeightForComponent:row]);
    UIView *testView=[[UIView alloc]initWithFrame:rect];
    [testView setBackgroundColor:[UIColor clearColor]];
    [testView setOpaque:YES];
    UILabel *label=[[UILabel alloc]initWithFrame:CGRectMake(8, 0, [self pickerView:pickerView widthForComponent:row]-16.0f, [self pickerView:pickerView rowHeightForComponent:row])];
    [label setBackgroundColor:[UIColor clearColor]];
    label.textAlignment=NSTextAlignmentCenter;
    label.text=pickerArray[row];
    switch (row)
    {
        case 1:
        case 2:
        {
            testView.backgroundColor=component==0?[UIColor greenColor]:[UIColor blueColor];
        }
        case 3:
        {
            testView.backgroundColor=component==0?[UIColor brownColor]:[UIColor redColor];
        }
        break;
        default:
        {
            testView.backgroundColor=component==0?[UIColor grayColor]:[UIColor orangeColor];
        }
        break;
    }
    label.font=[UIFont boldSystemFontOfSize:14.0f];
    [testView addSubview:label];
    return testView;
}

//可有可无
-(NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
    return pickerArray[row];
}
- (CGFloat)pickerView:(UIPickerView *)pickerView widthForComponent:(NSInteger)component;
{
    return 120;
}
-(CGFloat)pickerView:(UIPickerView *)pickerView rowHeightForComponent:(NSInteger)component
{
    return 50;
}

- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
    
     NSLog(@"row=%ld",row);
}

posted @ 2014-12-09 14:29  曹县三胖暴打大猩猩  阅读(244)  评论(0编辑  收藏  举报