gpt4 book ai didi

ios - 保存分段 Controller 位置

转载 作者:行者123 更新时间:2023-11-29 11:40:39 25 4
gpt4 key购买 nike

我遇到一个问题,即我的分段 Controller 在关闭应用程序并再次打开后没有保存其位置。

我的代码如下:

- (void)viewDidLoad {
[super viewDidLoad];

[self.segmentedControlButtonStyle addTarget:self action:@selector(changeButtonStyle:) forControlEvents:UIControlEventValueChanged];

}

- (IBAction)changeButtonStyle:(id)sender {

NSUserDefaults *sharedDefaults = [[NSUserDefaults alloc] initWithSuiteName:@"group.number.application"];
NSInteger selectedSegmentedControlerIndex = self.segmentedControlButtonStyle.selectedSegmentIndex;

if (sharedDefaults) {
[sharedDefaults setInteger: selectedSegmentedControlerIndex forKey:@"MySelectedButtonStyleKey"];
[sharedDefaults synchronize];
}
}

有趣的是,NSUserDefaults 实际上保存了正确的索引,因为从我上面提供的方法,如果我更改按钮样式,它会在关闭和再次打开应用程序后保持更改,因为我可以看到它,但分段 Controller 本身没有显示正确段。

我不确定为什么会发生这种情况,因为我在每次段更改后进行同步,但分段 Controller 仍保持其默认位置。

最佳答案

在 View 中加载你应该添加代码来设置你保存的段

NSUserDefaults *sharedDefaults = [[NSUserDefaults alloc] initWithSuiteName:@"group.number.application"];
int mySegment = [sharedDefaults integerForKey:@"MySelectedButtonStyleKey"];

if(mySegment) {
self.segmentedControlButtonStyle.selectedSegmentIndex = mySegment;
}

关于ios - 保存分段 Controller 位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46789440/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com