Как выбрать / установить выбранную строку в представлении выбора в качестве выбранной по умолчанию строки каждый раз - PullRequest
2 голосов
/ 07 марта 2012

У меня есть вид сборщика

[picker selectRow:3 inComponent:0 animated:YES];

когда я написал этот код, загрузился,

Этот метод используется для установки строки 3 в качестве строки по умолчанию в средстве выбора.

Но я хочу, чтобы выбранная мной строка была установлена ​​по умолчанию в следующий раз.

что делать? заранее спасибо ...

Ответы [ 3 ]

3 голосов
/ 07 марта 2012

Почему вы не сохраняете последнюю нажатую строку в переменной и загружаете ее в следующий раз?

Что-то вроде:

    int myLastPressed;

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

        myLastPressed = row;

    }

Вы можете использовать переменную в своем коде или глобальную в NSUSerDefaults

А потом в следующий раз:

[picker selectRow:myLastPressed inComponent:0 animated:YES];
3 голосов
/ 07 марта 2012

Попробуйте вот так

NSUserDefaults *usrDefaults = [NSUserDefaults standardUserDefaults]; 

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

    [usrDefaults setInteger:row forKey:@"Index"];
}

[pickerView selectRow:[[NSUserDefaults standardUserDefaults]integerForKey:@"Index"] inComponent:0 animated:NO];
1 голос
/ 07 марта 2012

Этот вопрос очень неточный.Что вы хотите сделать?

selectRow:inComponent: - это именно то, что вам нужно вызвать, если вы хотите выбрать конкретную строку.Если вы хотите сохранить выбранное состояние для следующего запуска приложения, вы можете сохранить текущую выбранную строку (читается с selectedRowInComponent) в UserDefaults: [[NSUserdefault standardUserDefaults] saveInteger: selectedRow forKey @"savedSelectedPickerRowComponent1"]

...