视图消失时如何删除导航子视图?

How to remove navigation subview when view disapper?

我正在为导航栏使用自定义导航视图。

CustomNavigation *navigation = [[CustomNavigation alloc] initWithNibName:@"CustomNavigation" bundle:nil];

[self.navigationController.navigationBar addSubview:navigation.view];

这是我的自定义导航代码,用于为导航添加子视图。我在 viewwillapper 中使用。因为它是基于 popviewcontroller 显示和隐藏图像和按钮。

这里我的问题是我需要取消分配这个自定义导航视图,但我已经尝试在视图中消失它不会工作? :((我在隐藏或显示调试区域中使用 "debug view hierarchy" 查找问题)

我使用的是自定义导航栏的正确方法还是给我创建自定义导航栏的正确方法?

如果这是创建自定义导航栏的正确方法,那么如何在视图消失时释放此自定义导航视图?

我是 xcode 的新人,所以再多解释一下 也许 我很难理解。 :(

示例APP导航只有一个在主屏幕也从另一个视图弹出

第二个视图中的示例 APP

我的应用程序在主屏幕

经过几次查看我的主屏导航

检查所有屏幕你就会明白我想要什么。 我想手动释放所有导航栏分配表单。

隐藏或显示调试区域中 "debug view hierarchy" 的屏幕截图 - XCODE。

这对我有用:)

每次在

之前使用添加子视图代码时,都为该视图添加一个标签
for(UIView *view in [self.navigationController.navigationBar subviews])
    {
        if(view.tag == 1000 && [view isKindOfClass:[UIView class]])
        {
            navigation = nil;
            [view removeFromSuperview];
        }
    }

如果答案不完美,请显示正确答案。提前致谢。