实现了单个组件选取器。
1。
一般都是在一个controller类中实现委托和数据源。
在类的头文件中声明协议:
<UIPickerViewDelegate , UIPickerViewDataSource>
2.
定义类的成员变量和输出口
UIPickerView * singlePicker;
NSArray * pickerData;
@property (nonatomic , retain) IBOutlet UIPickerView * singlePicker;
@property (nonatomic , retain) IBOutlet NSArray * pickerData;
3.在.xib文件中添加一个Picker View控件。
a.和File's Owner关联输出口。
b.在选取器上按下command+2打开链接检索器。把DataSource和Delegate链接到File's Owner上,也就是设置数据源和委托。
-----以下是在.m文件中的修改:-----
4。声明输出口
@synthesize singlePicker;
@synthesize pickerData;
5.viewDidUnload函数中清空
self.singlePicker = nil;
self.pickerData = nil;
6.dealloc函数中释放控件
[singlePicker release];
[pickerData release];
7。
添加数据源:
#pragma mark -
#pragma mark Picker Data Source methods
//获取一共有几个组件。
-(NSInteger) numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
return 1;
}
//获取元素个数。
-(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger) component
{
return [pickerData count];
}
#pragma mark -
#pragma mark Picker delegate methods
//设置委托,功能:选取器要求提供关于指定组件指定行的数据。
-(NSString *) pickerView:(UIPickerView *) pickerView titleForRow:(NSInteger)row forComponent:(NSInteger) component
{
return [pickerData objectAtIndex:row];
}