有没有办法让Xcode中的PickerView从默认行开始?现在,我的PickerView从我的数组中的第一个元素开始。
例如,如果我有一个包含30行的组件,当用户第一次看到PickerView时,如何让PickerView从第15行开始?
由于
答案 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];