AがモーダルコントローラーBを提示し、モーダルコントローラーCをすべてセグエ経由で提示する3つのビューコントローラーナビゲーションがあります。C には、B に戻るアンワインド セグエがあります。また、A に戻るアンワインドもあります。C が B にアンワインドするアクションを実行すると、C はアンワインドしますが、B をポップして A に戻ります。これは私が望むものではありません。この場合は B にとどまります。以下は、VC C が使用するセグエです。
unwindCancel は、ユーザーが collectionViewCell をクリックして VC B に戻ったときのためのものです。 prepareForUnwind は、VC A の標準的な「キャンセル」ボタンです。
以下は、VC C でアンワインドを呼び出す didSelectItem のコードです。その下は、VC C の prepareForSegue です。
-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath{
[self performSegueWithIdentifier:@"unwindCancel" sender:self];
}
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
if ([segue.identifier isEqualToString:@"unwindCancel"]) {
GalleryDetailViewController *detailVC = segue.destinationViewController;
detailVC.colletionCount = self.indexPathToPass;
}
}
.m ファイルでの VC B の巻き戻し
-(IBAction)unwindCancel:(UIStoryboardSegue *)segue{
[self.collectionView scrollToItemAtIndexPath:self.colletionCount atScrollPosition:UICollectionViewScrollPositionLeft animated:YES];
}
.m ファイルでの VC A 巻き戻し
-(IBAction)prepareForUnwind:(UIStoryboardSegue *)segue {
}