iOS基础 -- UIPickerView

来源:互联网 发布:kali linux dsdt 编辑:程序博客网 时间:2024/05/07 14:06
self.myPick = [[UIPickerView alloc] init];    self.myPick.center = self.view.center;    self.myPick.dataSource = self;    self.myPick.delegate = self;    //[self.myPick reloadAllComponents];    //[self.myPick reloadComponent:1];    [self.view addSubview:self.myPick];

如上,添加pickView到当前view,UIPickerView需要实现两个协议,一个是用户显示的UIPickerViewDataSource,一个是用于操作的UIPickerViewDelegate。

UIPickerViewDataSource主要实现以下两个方法:

-(NSInteger) numberOfComponentsInPickerView:(UIPickerView *)pickerView{    if([pickerView isEqual:self.myPick])        return 1;    return 0;}-(NSInteger) pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{    if([pickerView isEqual: self.myPick])        return 10;    return 0;}

主要用于确定UIPickerView的列数和行数。

UIPickerViewDelegate主要实现以下几个方法:

-(NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{    //NSLog(@"%d",[self.myPick selectedRowInComponent:0]);    if([pickerView isEqual:self.myPick])        return [NSString stringWithFormat:@"Row %ld",(long)row+1];    return nil;}-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{    NSLog(@"what you selected is row: %d,component: %d",row,component);}

用于确定显示的内容,以及监控pickerView的选择。

UIPicker在iOS7 中和viewController的背景一样都是白色的。iOS6或者更低版本中可以通过设置showSelectionIndicator为YES,来高亮显示当前的selection。

[self.myPicker setShowSelectionIndicator:YES];



0 0
原创粉丝点击