HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了iOS – 在导航堆栈中显示视图控制器大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
这可能很容易排序,但我无法弄清楚.我有一个带有两个选项卡的标签栏应用程序,每个选项卡都有一个UINavigationController.

假设我在选项卡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 1
if([[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中弹出根视图控制器.

大佬总结

以上是大佬教程为你收集整理的iOS – 在导航堆栈中显示视图控制器全部内容,希望文章能够帮你解决iOS – 在导航堆栈中显示视图控制器所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。