我有一个 3 视图控制器导航,其中 A 呈现模态控制器 B,它通过 segues 呈现模态控制器 C。C 有一个回到 B 的展开 segue。它也有一个回到 A 的展开。当我执行 C 展开到 B 的操作时,它展开但随后弹出 B 并返回到 A。这不是我想要的,我想要在这种情况下,它留在 B 上。下面是 VC C 使用的 segues。
unwindCancel 用于当用户单击 collectionViewCell 并返回到 VC B 时。prepareForUnwind 只是 VC A 的标准“取消”按钮。
下面是 didSelectItem 在 VC C 中调用 unwind 的代码。下面是 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;
}
}
VC B 在 .m 文件中展开
-(IBAction)unwindCancel:(UIStoryboardSegue *)segue{
[self.collectionView scrollToItemAtIndexPath:self.colletionCount atScrollPosition:UICollectionViewScrollPositionLeft animated:YES];
}
VC A 在 .m 文件中展开
-(IBAction)prepareForUnwind:(UIStoryboardSegue *)segue {
}