我有一个3个视图控制器的导航,其中A呈现模态控制器B,B呈现模态控制器C,均通过segue进行。C具有返回到B的unwind segue。它还有回到A的unwind。当我执行C回退到B的操作时,它会回退但是弹出B并返回A。这不是我想要的,我希望在这种情况下停留在B。下面是VC C使用的segue。
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 {
}
prepareForUnwind
回到 A。当我从 VC 而不是按钮拖动 segue 到 Exit 时,这种情况不会发生。我会尝试发布的解决方案,但乍一看它不像解决方案中的命名错误。 - noobsmcgoobs