此範例透過三個滾軸讓使用者選擇項目,
此範例為有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
文章標籤
全站熱搜