UIPickerView控件可以让用户去选择数据,和UITableView类似,UIPickerView也需要数据源
最后界面如下:
下一步,建立映射,在ViewController.h中
#import <UIKit/UIKit.h>
@interface MainViewController : UIViewController
<UIPickerViewDataSource,UIPickerViewDelegate>
//UIPickerView控件
@property (weak, nonatomic) IBOutlet UIPickerView *pickerViewValue;
- (IBAction)getValue:(id)sender;
//显示当前UIPickerView的值
@property (weak, nonatomic) IBOutlet UILabel *lalValue;
在ViewController.m中
@interface MainViewController ()
{
NSArray *pickerArray;
}
@end
@implementation MainViewController
//初始化
- (void)viewDidLoad
{
[super viewDidLoad];
//设置数据源
pickerArray = [NSArray arrayWithObjects:@"老虎",@"猴子",@"兔子",@"大象",@"猩猩", nil];
//设置委托
self.pickerViewValue.dataSource = self;
self.pickerViewValue.delegate = self;
// Do any additional setup after loading the view, typically from a nib.
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView {
return 1;
}
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component {
return [pickerArray count];
}
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component {
return [pickerArray objectAtIndex:row];
}
- (IBAction)getValue:(id)sender {
NSInteger row = [self.pickerViewValue selectedRowInComponent:0];
self.lalValue.text = [pickerArray objectAtIndex:row];
}
相信通过实践,大家都能做出来!
代码下载:http://download.youkuaiyun.com/detail/daichao622/7640559