我有一个基于导航的应用程序,需要输入密码才能查看某些页面。当我在控制器A上时,我想推送至密码控制器,然后推送至控制器B并从堆栈中删除密码控制器。
为了清楚起见,“密码控制器”卡在控制器A和控制器B之间,我不知道如何删除它。
我尝试了两种不同的方法,但是都没有给我正确的结果。
尝试1:
ControllerB *contB = [self.storyboard instantiateViewControllerWithIdentifier:@"contB"];
[self.navigationController pushViewController:contB animated:YES];
[self.navigationController popViewControllerAnimated:NO];
尝试2:
ControllerB *contB = [self.storyboard instantiateViewControllerWithIdentifier:@"contB"];
ControllerA *contA = [self.storyboard instantiateViewControllerWithIdentifier:@"contA"];
[UIView transitionFromView:contA.view
toView:contB.view
duration:0.65f
options:(UIViewAnimationOptionCurveEaseInOut | UIViewAnimationOptionTransitionCrossDissolve)
completion:^(BOOL finished){
self.view.window.rootViewController = contA;
}];
有谁知道我怎么能删除密码控制器从每当我推栈控制器B从密码控制器?
使用上的viewControllers
属性UINavigationController
,如下所示:
self.navigationController.viewControllers = @[ contA, contB ];
通常,您希望在控制权传递给控制器B之后执行此行。
这个问题还有其他一些代码示例:从导航堆栈中删除视图控制器
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句