0

したがって、私が抱えている問題は、にCollectionView応じて異なるデータをロードするがあることindexです。たとえば、私がいる場合、index 0最初は「帽子」で、最初は「コート」cellに切り替えます。問題は、「コート」をクリックしてから をクリックすると...コートが表示されますが、実際には「帽子」のままです。「コート」をクリックすると、「帽子」の詳細が表示されます。index 1cellBack button

CollectionView...を押してリロードするだけで以前に同様の問題を解決しましたback buttonが、今回はうまくいかないようです。だから私がやりたいことは、リロードの前にsegmented control indexが設定されていることを確認することです。0

帽子/コートからこれまでのところ私が持っているものは次のdetailviewとおりです。

UserViewController *userVC = [[UserViewController alloc] init];
[userVC.collectionView reloadData];

のコードは次segmented controlUserViewControllerとおりです。

HMSegmentedControl * segmentedControl = [[HMSegmentedControl alloc] initWithFrame:CGRectMake(0, 280, 600, 50)];
[segmentedControl setSelectedSegmentIndex:0];

そのインデックスを から変更するコードがよくわかりませんdetail view。または、それがうまくいかない場合は、ビュー全体をリロードするだけです。

4

1 に答える 1

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"];
于 2015-12-18T12:47:55.627 に答える