我的导航控制器中有三个viewcontollers。现在我想要做的只是在self.navigationController.viewControllers数组之间插入一个视图控制器。
当我检查属性viewControllers不是readonly属性所以我想我们也可以设置它。 这就是为什么我使用下面的代码在堆栈之间插入我的ViewController。 但不幸的是,它并没有修改 self.navigationController.viewControllers的堆栈。
那么如何插入和修改堆栈呢?另外请确保我不想pushViewcontroller。
CXSTransactionSelectionViewController *trxSelectionVc = [self.storyboard instantiateViewControllerWithIdentifier:@"CXSTransactionSelectionViewController"];
NSMutableArray *viewControllers = [self.navigationController.viewControllers mutableCopy];
[viewControllers insertObject:trxSelectionVc atIndex:viewControllers.count-2 ];
[self.navigationController setViewControllers:viewControllers animated:YES];
NSLog(@"%@",self.navigationController.viewControllers);
答案 0 :(得分:1)
尝试做这样的事情:
NSArray * oldViewControllers = [self.navigationController viewControllers];
NSArray * newViewControllers = [NSArray arrayWithObjects:[oldViewControllers objectAtIndex:0], newVC, [oldViewControllers objectAtIndex:1],nil];
[self.navigationController setViewControllers:newViewControllers];
答案 1 :(得分:0)
使用此问题已解决
CXSTransactionSelectionViewController *trxSelectionVc = [self.storyboard instantiateViewControllerWithIdentifier:@"CXSTransactionSelectionViewController"];
[self.navigationController.viewControllers insertObject:trxSelectionVc atIndex:1 ];
NSLog(@"%@",self.navigationController.viewControllers);