假设我在选项卡1中推送一个名为ItemVIEwController的vIEwcontroller,然后我转到选项卡2.从选项卡2我想以编程方式显示ItemVIEwController.所以它应该首先将我带到选项卡1,然后显示ItemVIEwController.
只需点击选项卡1选项卡项即可轻松实现这一点,但出于其他原因我想以编程方式执行此 *** 作.
我现在正在做的是实现这个目标:
[tab1NavController popToRootVIEwControllerAnimated:NO];[tabbarController setSelectedindex:0];[tab1NavController pushVIEwController:itemVIEwController animated:NO];
我希望能够在伪代码中做这样的事情:
if(vIEwControllerIWantTodisplayIsOnNavstack)[tab1NavController presentVIEwController:vIEwControllerIWantTodisplay];else//instantiate and pushvIEwcontroller onto stack
我怎样才能做到这一点?
解决方法// check if the desired controller is on the stack in tab 1if([[tab1NavController vIEwControllers] containsObject:vIEwControllerIWantTodisplay]) { // desired controller is on the stack,let's see if it's on top if(tab1NavController.topVIEwController == vIEwControllerIWantTodisplay) { // no need to do anything } else { // we need to pop to the desired vIEw controller [tab1NavController popToVIEwController:vIEwControllerIWantTodisplay animated:NO]; }} else { // desired controller not on the stack [tab1NavController pushVIEwController:vIEwControllerIWantTodisplay animated:NO];}
因此,您不必再在选项卡1中d出根视图控制器.
总结以上是内存溢出为你收集整理的iOS – 在导航堆栈中显示视图控制器全部内容,希望文章能够帮你解决iOS – 在导航堆栈中显示视图控制器所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)