从导航堆栈中删除ViewController

用户名

我用代码做到这一点:

NSArray *viewControllersFromStack = [self.navigationController viewControllers];
NSMutableArray *viewControllersFromStackMutable = [NSMutableArray arrayWithArray:viewControllersFromStack];
NSMutableArray *viewControllersToRemove = [[NSMutableArray alloc]init];

for (UIViewController *currentVC in viewControllersFromStack)
{
    if ([currentVC isKindOfClass:[TalksViewController class]])
    {
        [viewControllersToRemove addObject:currentVC];
        if (viewControllersToRemove.count == 2)
        {
            UIViewController *oneVCtoRemove = [viewControllersToRemove objectAtIndex:0];
            [viewControllersFromStackMutable removeObject:oneVCtoRemove];
            [self.navigationController setViewControllers:viewControllersFromStackMutable];

        }
    }
}

问题是我在导航项目中引用了已删除的VC。如何解决?

佳能008

当您想从导航堆栈中删除视图时,只需在导航栏上调用此方法即可从堆栈中弹出视图:

[self.navigationController popViewControllerAnimated:YES];

要弹出外部视图,请使用

for(UIViewController *currentVC in viewControllersFromStack)
{
    if([currentVC isKindOfClass:[TalksViewController class]])
    {
        [currentVC.navigationController popViewControllerAnimated:YES];
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从导航堆栈中删除ViewController

来自分类Dev

导航堆栈中的ViewController

来自分类Dev

导航堆栈中的ViewController

来自分类Dev

ViewController层次结构-从堆栈中删除UISplitviewController

来自分类Dev

在导航堆栈中重新创建viewController

来自分类Dev

导航堆栈中先前ViewController的快速访问属性

来自分类Dev

在 swift 中在导航堆栈顶部重用相同的 viewController

来自分类Dev

iOS:从导航堆栈中删除视图控制器

来自分类Dev

情节提要导航-从堆栈中推送和删除

来自分类Dev

从导航堆栈中删除页面-xamarin.forms

来自分类Dev

从导航堆栈中删除中间View Controller-iOS

来自分类Dev

快速更改导航ViewController堆栈(以编程方式)

来自分类Dev

将导航堆栈中每个ViewController的NavigationBar色调/颜色更改为不同的值

来自分类Dev

将导航堆栈中每个ViewController的NavigationBar色调/颜色更改为不同的值

来自分类Dev

如何在Windows 8.1中从导航堆栈中删除后退条目?

来自分类Dev

我们如何在Windows Phone 8.1中从导航堆栈中删除页面

来自分类Dev

从堆栈中删除ViewControllers

来自分类Dev

如何使用Swift将ViewController推入导航堆栈?

来自分类Dev

推送segue之后(使用情节提要segues)从导航堆栈中删除视图控制器

来自分类Dev

IOS7中的导航堆栈

来自分类Dev

如何清除Flutter中的导航堆栈

来自分类Dev

删除堆栈中的特定元素

来自分类Dev

从堆栈内存中删除结构

来自分类Dev

Android:从堆栈中删除活动

来自分类Dev

Android Activity从堆栈中删除

来自分类Dev

从堆栈中删除所有NavigationControllers并创建一个设置新窗口的新导航流-最佳做法

来自分类Dev

Android导航-弹出堆栈时删除操作栏后退按钮

来自分类Dev

(快速)导航栏隐藏在viewController中

来自分类Dev

如何使用导航组件从一个活动导航到另一个活动并从堆栈中删除第一个活动?

Related 相关文章

  1. 1

    从导航堆栈中删除ViewController

  2. 2

    导航堆栈中的ViewController

  3. 3

    导航堆栈中的ViewController

  4. 4

    ViewController层次结构-从堆栈中删除UISplitviewController

  5. 5

    在导航堆栈中重新创建viewController

  6. 6

    导航堆栈中先前ViewController的快速访问属性

  7. 7

    在 swift 中在导航堆栈顶部重用相同的 viewController

  8. 8

    iOS:从导航堆栈中删除视图控制器

  9. 9

    情节提要导航-从堆栈中推送和删除

  10. 10

    从导航堆栈中删除页面-xamarin.forms

  11. 11

    从导航堆栈中删除中间View Controller-iOS

  12. 12

    快速更改导航ViewController堆栈(以编程方式)

  13. 13

    将导航堆栈中每个ViewController的NavigationBar色调/颜色更改为不同的值

  14. 14

    将导航堆栈中每个ViewController的NavigationBar色调/颜色更改为不同的值

  15. 15

    如何在Windows 8.1中从导航堆栈中删除后退条目?

  16. 16

    我们如何在Windows Phone 8.1中从导航堆栈中删除页面

  17. 17

    从堆栈中删除ViewControllers

  18. 18

    如何使用Swift将ViewController推入导航堆栈?

  19. 19

    推送segue之后(使用情节提要segues)从导航堆栈中删除视图控制器

  20. 20

    IOS7中的导航堆栈

  21. 21

    如何清除Flutter中的导航堆栈

  22. 22

    删除堆栈中的特定元素

  23. 23

    从堆栈内存中删除结构

  24. 24

    Android:从堆栈中删除活动

  25. 25

    Android Activity从堆栈中删除

  26. 26

    从堆栈中删除所有NavigationControllers并创建一个设置新窗口的新导航流-最佳做法

  27. 27

    Android导航-弹出堆栈时删除操作栏后退按钮

  28. 28

    (快速)导航栏隐藏在viewController中

  29. 29

    如何使用导航组件从一个活动导航到另一个活动并从堆栈中删除第一个活动?

热门标签

归档