Xcode: как сделать так, чтобы PickerView начинался с определенной строки, когда она отображается впервые - PullRequest
5 голосов
/ 23 февраля 2012

Есть ли способ заставить PickerView в XCode запускаться в строке по умолчанию?Прямо сейчас мой PickerView начинается с первого элемента в моем массиве.

Так, например, если у меня есть 1 компонент с 30 строками, как я могу заставить PickerView запускаться со строки 15, когда пользователь впервые видит PickerView?

Ответы [ 2 ]

9 голосов
/ 23 февраля 2012

use - [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];
0 голосов
/ 18 сентября 2014

Вы должны назначить переменную с именем selectedrow, которая имеет значение по умолчанию 0 в вашем viewDidLoad.то есть int seletedrow = 0;

После этого выполните следующее в методе didSelectRow UIPickerView:

- (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];     
...