IOS 之PickView

.h

#import <UIKit/UIKit.h>

@interface YYWViewController : UIViewController<UIPickerViewDelegate, UIPickerViewDataSource>
 
@property (retain, nonatomic) IBOutlet UIPickerView *pickerView;
@property(retain,nonatomic)
IBOutlet UILabel *selectLabel;
@property (strong, nonatomic) NSArray *pickerData;
@end

.m

#import "YYWViewController.h"

@interface YYWViewController ()

@end

@implementation YYWViewController

@synthesize pickerView;
@synthesize selectLabel;


-(void) addPickerView {
    NSArray *array = [[NSArray alloc] initWithObjects:@"",@"Luke", @"Leia",
                      @"Han", @"Chewbacca", @"Artoo", @"Threepio", @"Lando", nil];
    _pickerData = array;
    if (pickerView == nil) {
        pickerView = [[UIPickerView alloc] initWithFrame:CGRectMake(0, 240, 320, 460)];
        pickerView.delegate = self;
        pickerView.dataSource =self;
        pickerView.showsSelectionIndicator = YES;
        [self.view addSubview:pickerView];
        [pickerView release];
    }
    
}
 
 

-(void) addLabel {
    if (selectLabel == nil) {
        selectLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 100, 320, 40)];
        selectLabel.text = @"";
        selectLabel.font = [UIFont systemFontOfSize:12];
        selectLabel.textAlignment = UITextAlignmentCenter;
        selectLabel.backgroundColor = [UIColor grayColor];
        [self.view addSubview:selectLabel];
        [selectLabel release];
        
    }
    
}


// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
    [super viewDidLoad];
    [self addPickerView];
    [self addLabel];
    
}

#pragma mark pickerView delegate

//返回pickerview的组件数
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)thePickerView {
    return 1;
}

//返回每个组件上的行数
- (NSInteger)pickerView:(UIPickerView *)thePickerView numberOfRowsInComponent:(NSInteger)component {    
    return [_pickerData count];
}

//设置每行显示的内容
- (NSString *)pickerView:(UIPickerView *)thePickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component {
     return [_pickerData objectAtIndex:row];
    
}

//当你选中pickerview的某行时会调用该函数。

- (void)pickerView:(UIPickerView *)thePickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component {
    NSLog(@"You select row %d",row);
        selectLabel.text = [NSString stringWithFormat:@"you select %@",[_pickerData  objectAtIndex:row]];
}

//设置指定组件上每行的宽度
/*
 -(void)pickerView:(UIPickerView *)thePickerView widthForComponet:component {
 
 }
 
 */



- (void)didReceiveMemoryWarning {
    // Releases the view if it doesn't have a superview.
    [super didReceiveMemoryWarning];
    
    // Release any cached data, images, etc that aren't in use.
}


- (void)dealloc {
    
    [pickerView release];
    [super dealloc];
}

@end

 

posted @ 2013-04-23 11:41  Peter_youny  阅读(1565)  评论(0编辑  收藏  举报