此範例透過三個滾軸讓使用者選擇項目,

此範例為有3個component,每個component又各有三個選項,

使用者選擇後點擊按鈕顯示至lableView上。

viewController.h

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController<UIPickerViewDelegate, UIPickerViewDataSource>
{
    NSArray *dataArray1;
    NSArray *dataArray2;
    NSArray *dataArray3;
}
@end

viewController.m

#import "ViewController.h"

@interface ViewController ()
@property (weak, nonatomic) IBOutlet UILabel *labelShow;
- (IBAction)toPick:(id)sender;
@property (weak, nonatomic) IBOutlet UIPickerView *myPickerView;

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    dataArray1 = [NSArray arrayWithObjects:@"data1", @"data2",@"data3", nil];
    dataArray2 = [NSArray arrayWithObjects:@"data2", @"data3",@"data4", nil];
    dataArray3 = [NSArray arrayWithObjects:@"data7", @"data6",@"data7", nil];
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

- (IBAction)toPick:(id)sender
{
    _labelShow.text = [NSString stringWithFormat:@"%@, %@, %@",
                       [dataArray1 objectAtIndex:[_myPickerView selectedRowInComponent:0]],
                       [dataArray2 objectAtIndex:[_myPickerView selectedRowInComponent:1]],
                       [dataArray3 objectAtIndex:[_myPickerView selectedRowInComponent:2]]];
}

- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
    if (component == 0){
        return [dataArray1 objectAtIndex:row];
    }else if (component == 1){
        return [dataArray2 objectAtIndex:row];
    }else{
        return [dataArray3 objectAtIndex:row];
    }
}

// returns the number of 'columns' to display.
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
    return 3;
}

// returns the # of rows in each component..
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
    
    if (component == 0) {
        return [dataArray1 count];
    }else if (component == 1){
        return [dataArray2 count];
    }else{
        return [dataArray3 count];
    }
}
@end

 

 

arrow
arrow
    文章標籤
    UIPickerView iOS
    全站熱搜

    Will 發表在 痞客邦 留言(0) 人氣()