Xcode:如何在第一次显示时将PickerView从某一行开始

时间:2012-02-23 00:09:55

标签: xcode ios5 xcode4.2 uipickerview

有没有办法让Xcode中的PickerView从默认行开始?现在,我的PickerView从我的数组中的第一个元素开始。

例如,如果我有一个包含30行的组件,当用户第一次看到PickerView时,如何让PickerView从第15行开始?

由于

2 个答案:

答案 0 :(得分:9)

使用 - [UIPickerView selectRow:inComponent:animated:] ...假设您有一个组件,请执行以下操作:

UIPickerView *aPicker = [[[UIPickerView alloc] init] autorelease];
aPicker.delegate = self;
aPicker.dataSource = self;
aPicker.showsSelectionIndicator = YES;
[self.view addSubview:aPicker];
[aPicker selectRow:14 inComponent:0 animated:NO];

答案 1 :(得分:0)

您必须在viewDidLoad中指定一个名为selectedrow的变量,其默认值为0。 即int seletedrow = 0;

之后,在UIPickerView的didSelectRow方法中执行以下操作:

- (void) pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:    (NSInteger)component
{

   selectedrow=row;

}

最后编写以下代码来初始化PickerView:

_pickerView=[[UIPickerView alloc]initWithFrame:CGRectMake(0, 43, 320, 480)];
     _pickerView.delegate=self;
    _pickerView.dataSource=self;
    _pickerView.backgroundColor=[UIColor whiteColor];
    [_pickerView selectRow:selectedrow inComponent:0 animated:NO];
    [_pickerView setShowsSelectionIndicator:YES];