所以我遇到的问题是我有CollectionView
根据index
加载不同的数据。例如,如果我在index 0
并且第一个cell
是"帽子"我切换到index 1
,第一个cell
是"外套"。问题是如果我点击"外套"然后点击Back button
...它显示了外套,但我们仍然真的在"帽子"。如果你点击"外套"它将提供"帽子的详细信息。
我之前解决了一个类似的问题,只需在按下CollectionView
时重新加载back button
......但这次似乎并没有起作用。所以我想要做的是确保在重新加载之前将segmented control index
设置为0
。
这是我迄今为止从Hat / Coat detailview
获得的内容:
UserViewController *userVC = [[UserViewController alloc] init];
[userVC.collectionView reloadData];
以下是segmented control
中UserViewController
的代码:
HMSegmentedControl * segmentedControl = [[HMSegmentedControl alloc] initWithFrame:CGRectMake(0, 280, 600, 50)];
[segmentedControl setSelectedSegmentIndex:0];
我无法找出从detail view
更改该索引的代码。或者,如果那不起作用,只需让它重新加载整个视图。
答案 0 :(得分:0)
您可以使用NSUserDefaults。
在AppDelegate中:
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
if ([userDefaults objectForKey:@"segmentedControlIndex"] == nil) {
[userDefaults setInteger:0 forKey:@"segmentedControlIndex"];
}
在viewWillAppear函数中:
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
[self.segmentedControl setSelectedSegmentIndex:[userDefaults integerForKey:@"segmentedControlIndex"]];
在开关上:
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
[userDefaults setInteger:self.segmentedControl.selectedSegmentIndex forKey:@"segmentedControlIndex"];