2012-02-23 67 views
5

有沒有辦法讓Xcode中的PickerView開始在默認行?現在,我的PickerView從我的數組中的第一個元素開始。例如,如果我有1行30行的組件,當用戶第一次看到PickerView時,如何使PickerView從第15行開始?Xcode:如何使PickerView在某行首次顯示時開始

感謝

回答

9

使用 - [UIPickerView selectRow:inComponent:動畫:] ...假設你有一個組件,請執行下列操作:

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]; 
0

你必須指定一個命名爲selectedrow變量,在你的viewDidLoad中有默認值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];  
相關問題