Загрузка последнего выбранного UIPickerView при запуске - PullRequest
0 голосов
/ 18 февраля 2012

У меня есть UIPickerView, чтобы выбрать PDF, который должен быть показан.Я хочу сохранить последние выбранные компоненты, поэтому при выходе из приложения или перезагрузке устройства автоматически отображается последний выбранный PDF-файл.У меня есть два компонента, поэтому я хотел знать, как это можно сделать ... спасибо!

Ответы [ 2 ]

0 голосов
/ 21 января 2013
-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{

    NSString *numberString = [array1 objectAtIndex:[_pickerView selectedRowInComponent:0]];
    NSString *letterString = [array2 objectAtIndex:[_pickerView selectedRowInComponent:1]];

    NSString *pathComponentString = [NSString stringWithFormat:@"Stundenplan_%@%@.pdf", numberString, letterString];
    stundenplan.scalesPageToFit = YES;
    [stundenplan loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:pathComponentString]]]];
    NSInteger selectedRow = [_pickerView selectedRowInComponent:component];
    NSString *key = [NSString stringWithFormat:@"%@", @"picker"];
    [[NSUserDefaults standardUserDefaults] setInteger:selectedRow forKey:key];

}

-(IBAction)showPicker:(id)sender
{

    [pickerView selectRow:[[[NSUserDefaults standardUserDefaults] objectForKey:@"picker"] intValue] inComponent:0 animated:NO];
    self.pickerView.hidden = NO;
    cancelbtn.enabled = NO;
    cancelbar.hidden = NO;

}
0 голосов
/ 18 февраля 2012

Вы можете сохранить выбранную строку в NSUserDefaults, используя selectedRowInComponent ... А потом при предъявлении picker используйте selectRow:inComponent:animated:

EDIT:

Сохранить как это.

int selectedRow = [picker selectedRowInComponent:componentNumber];
...