【问题标题】:removeFromParentViewController doesnot update UINavigationbarremoveFromParentViewController 不更新 UINavigationbar
【发布时间】:2013-09-14 08:38:13
【问题描述】:

我想从 UINavigationController 中删除所有视图控制器。所以我正在使用这个代码。

for (UIViewController* controller in navigationController.viewControllers) {
[controller removeFromParentViewController];
}

之后我创建一个新的 viewController 并推送它。

 UIViewController* newVC=[[UIViewController alloc] init]; 
 [navigationController pushViewController:newVC animated:YES];

问题是所有视图控制器都完美弹出并添加了 newVC,但在按下 newVC 时,导航栏正在获得一个返回按钮和 newVC 的标题。单击后退按钮时,它会动画到 oldVC 的导航栏,标题为 oldVC,我已经在上面的循环中删除了该标题;

【问题讨论】:

    标签: objective-c uikit uinavigationbar uinavigationcontroller


    【解决方案1】:

    removeFromParentViewControllerUIViewController的方法,所以和UINavigationBar无关是正常的

    UINavigationController 的情况下,popViewControllerAnimated: 方法会为您处理 removeFromParentViewControllerpart 以及导航栏。

    你可以直接更新viewControllers的整个数组UINavigationController,调用`setViewControllers:animated:

    Replacing rootView in navigationController

    【讨论】:

      【解决方案2】:

      [navigationController setViewControllers:[NSArray arrayWithObject:newVC]];

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-11-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-03-06
        相关资源
        最近更新 更多