我的应用程序它嵌入在标签栏控制器中,但我正在使用一个笔尖,我正在做一些操作。 在此操作结束时,我将弹出到我的标签栏控制器中的视图控制器。我尝试使用此代码(由其他用户在此处建议):
[self.tabBarController setSelectedIndex:<#(NSUInteger)#>];
[self.navigationController popToRootViewControllerAnimated:NO];
但它没有做任何事情。我猜我应该使用这个说明:
[self dismissViewControllerAnimated:NO completion:nil];
但我要在completion
中放一些东西,我不知道该怎么做,你能帮助我吗?
更新 我将向您展示我的故事板,以便您了解我想要解释的内容:
也在“产品视图控制器”中,当我按下一个按钮(我按代码设计按钮)时,它会显示我的文件XIB:
在此视图中有一个按钮(通常是隐藏的),当我按下此按钮时,它会将我正在寻找的产品添加到远程购物车中。将此产品添加到远程购物车后,我将弹出“Carriage View Controller”。当我弹出“Carriage View Controller”时,我应该将它们的一些数据传递给我们。 所以我的应用程序有这个标签视图:
从带有segue的“类别视图控制器”中弹出一个视图控制器,我在其中通过自定义视图显示产品。当我按下其中一个产品时,它会调用我在文件之前发布的xib文件,其中包含之前选择的产品的详细信息。 我希望你能更好地理解我正在做的事情。
CODE:
这是显示我发布的xib的代码:
- (void)collectionView:(PSCollectionView *)collectionView didSelectCell:(PSCollectionViewCell *)cell atIndex:(NSInteger)index {
int productID = (int)index;
productID = productID + 1;
if (IS_IPHONE_5) {
ProductScannedViewController *productScannedVC = [[ProductScannedViewController alloc]initWithNibName:@"ProductScannedViewControllerRetina4" bundle:nil];
productScannedVC.idProductScanned = [NSString stringWithFormat:@"%d", productID];
[productScannedVC setModalTransitionStyle:UIModalTransitionStyleFlipHorizontal];
[self presentViewController:productScannedVC animated:YES completion:nil];
} else {
ProductScannedViewController *productScannedVC = [[ProductScannedViewController alloc]initWithNibName:@"ProductScannedViewController" bundle:nil];
productScannedVC.idProductScanned = [NSString stringWithFormat:@"%d", productID];
[productScannedVC setModalTransitionStyle:UIModalTransitionStyleFlipHorizontal];
[self presentViewController:productScannedVC animated:YES completion:nil];
}
}
答案 0 :(得分:0)
[self dismissViewControllerAnimated:YES completion:^{
// completion code here
}];
如果视图控制器是导航控制器导航堆栈的一部分,则只能使用popToRootViewControllerAnimated方法。
如果您正在呈现像这样的视图控制器
TestViewController * vc = [[TestViewController alloc] init];
[self presentViewController:vc animated:YES completion:^{
}];
想要在里面做标签导航我建议将标签栏注入弱属性
TestViewController * vc = [[TestViewController alloc] init];
[vc setTabController:self.tabBarController];
[self presentViewController:vc animated:YES completion:^{
}];
在要进行导航的TestViewController中:
[self dismissViewControllerAnimated:YES completion:^{
[tabController setSelectedIndex:0];
}];
我测试了这段代码。