1. File -> New Project -> View-based Application -> 输入工程名称 PickerView
2. PickerViewViewController.h
3. PickerViewViewController.m
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
NSArray *arr = [[NSArray alloc] initWithObjects:@"白菜", @"包心菜", @"菠菜", @"韭菜", @"冬瓜", @"胡萝卜", @"竹笋", nil];
self.m_data = arr;
[arr release];
[super viewDidLoad];
}
/*
// Override to allow orientations other than the default portrait orientation.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
// Return YES for supported orientations
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
*/
- (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)viewDidUnload {
// Release any retained subviews of the main view.
// e.g. self.myOutlet = nil;
m_pPickerView = nil;
m_data = nil;
[super viewDidUnload];
}
- (void)dealloc {
[m_pPickerView release];
[m_data release];
[super dealloc];
}
#pragma mark -
#pragma mark Picker View Data Source Methods
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
return 1;
}
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
return [m_data count];
}
#pragma mark -
#pragma mark Picker View Delegate Methods
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
return [m_data objectAtIndex:row];
}
@end
4. 双击 PickerViewViewController.xib, 按下shift + command + L, 拖一个PickerView 放到View上。
按下control 键同时从 File's Owner 拖动到 PickerView 控件上,连接输入口(IBOutlet).
按下 command + 2, 把 dataSource和delegate 拖动到File's Owner上。
5. 运行后的效果如下: