Подтвердить что ты не робот

Iphone SDK: Как установить начальное значение UIPickerView?

У меня есть представление выбора, у которого есть список чисел, которые нужно выбрать. Я хочу иметь возможность инициализировать элемент управления в определенной строке. Например, если пользователь задает значение 10 по умолчанию, тогда элемент управления должен автоматически располагаться в этой строке, когда элемент управления сначала инициализируется.

Спасибо заранее.

4b9b3361

Ответ 1

Вы вызываете selectRow:inComponent:animated: и передаете ему индекс выбранной строки.

Этот код заставляет UIPickerView прокручивать свои номера от 0 до 60, прежде чем опуститься на 0.

- (void)viewDidAppear:(BOOL)animated {

    [thePicker selectRow:60 inComponent:0 animated:YES];
    [thePicker reloadComponent:0];
    [thePicker selectRow:60 inComponent:1 animated:YES];
    [thePicker reloadComponent:1];
    [thePicker selectRow:0 inComponent:0 animated:YES];
    [thePicker reloadComponent:0];
    [thePicker selectRow:0 inComponent:1 animated:YES];
    [thePicker reloadComponent:1];
}

В вашем случае, чтобы отобразить строку десятку, вы вызываете что-то вроде:

[thePicker selectRow:10 inComponent:0 animated:YES];

Ответ 2

Что вы можете сделать, а не выбирать строку, чтобы заставить pickerview найти нужное значение. Способ создания цикла, чтобы найти его в массиве и выбрать его:

- (void)viewDidAppear:(BOOL)animated{    
    int i = 0;
    for(NSString* number in arrayName)
    {
        if ([stringValue isEqualToString:number]){
            [pickerViewName selectRow:i inComponent:0 animated:YES ];
        }
        i++;
    }
}

Ответ 3

Если вы используете UITextField с UIPickerView

[self.text_field setInputView:self.picker];

затем используйте это:

self.text_field.text = [_myarray objectAtIndex:10];