2012年9月21日 星期五

PickerView基本使用


一個自己實驗的範例
Xcode版本4.4.1
 
1. 開一個新的專案


2. 加入一個picker View的元件



3. 將picker View註冊到mainViewController.h,並加上一個NSMutableArray叫做arrayDay
#import <UIKit/UIKit.h>

@interface mainViewController : UIViewController
@property (weak, nonatomic) IBOutlet UIPickerView *pickerView;

@property (nonatomic) NSMutableArray *arrayDay;
@property (weak, nonatomic) IBOutlet UILabel *displayLabel;

@end


4. 將picker View的Delegate拉到View Controller上,建立聯結


5.  在mainViewController.m上加入所需要的程式碼
#import "mainViewController.h"

@interface mainViewController ()

@end

@implementation mainViewController
@synthesize pickerView;

@synthesize arrayDay;

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
   
    arrayDay = [[NSMutableArray alloc] init];
    [arrayDay addObject:@"星期一"];
    [arrayDay addObject:@"星期二"];
    [arrayDay addObject:@"星期三"];
    [arrayDay addObject:@"星期四"];
    [arrayDay addObject:@"星期五"];
    [arrayDay addObject:@"星期六"];
    [arrayDay addObject:@"星期日"];
   
}

- (void)viewDidUnload
{
    [self setPickerView:nil];
    [super viewDidUnload];
    // Release any retained subviews of the main view.
}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
}

- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)thePickerView {
   
    return 1;
}

- (NSInteger)pickerView:(UIPickerView *)thePickerView numberOfRowsInComponent:(NSInteger)component {
   
    return [arrayDay count];
}

- (NSString *)pickerView:(UIPickerView *)thePickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component {
   
    return [arrayDay objectAtIndex:row];
}

- (void)pickerView:(UIPickerView *)thePickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component {
   
       displayLabel.text = [NSString stringWithFormat:@"現在是%@",[arrayDay objectAtIndex:row]];
}


@end