启动时加载最后选择的 UIPickerView

发布于 2025-01-07 06:07:37 字数 110 浏览 4 评论 0原文

我有一个 UIPickerView 来选择应该显示的 PDF。我想保存最后选择的组件,这样当我退出应用程序或重新启动设备时,它会自动显示最后选择的PDF。我有两个组件,所以我想知道如何完成......谢谢!

I have a UIPickerView to choose the PDF that should be shown. I want to save the last chosen components, so when I quit the app or restart the device, it will automatically show the last chosen PDF. I have two components, so I wanted to know how it can be done...thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

莳間冲淡了誓言ζ 2025-01-14 06:07:37

您可以使用 selectedRowInComponent 将选定的行保存在 NSUserDefaults 中...
然后在呈现 picker 时使用 selectRow:inComponent:animated:

EDIT:

像这样保存。

int selectedRow = [picker selectedRowInComponent:componentNumber];

You can save the selected row in NSUserDefaults by using selectedRowInComponent...
And then while presenting the picker use selectRow:inComponent:animated:

EDIT:

Save like this.

int selectedRow = [picker selectedRowInComponent:componentNumber];
痴者 2025-01-14 06:07:37
-(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;

}
-(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;

}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文