如何在查看disapper时删除导航子视图?

时间:2015-08-22 07:57:04

标签: ios objective-c iphone uinavigationcontroller customization

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

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

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

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

这里我的问题是我需要dealloc这个自定义导航视图,但我已经尝试过在视图中消失它不起作用? :((我正在使用隐藏或显示调试区域中的“调试视图层次结构”找到该问题)

我是否使用正确的自定义导航栏方式,或者给我正确的方法来创建自定义导航栏?

如果这是创建自定义导航栏的正确方法,那么在查看disapper时如何取消分配此自定义导航视图?

我是xcode的新蜜蜂,所以给出更多解释也许我很难理解。 :(

Sample APP navigation only one at home screen also pop from another view

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

Sample APP second view

第二个视图的APP示例

My app at home screen

我的应用程序在主屏幕

After few view my home screen navigation

几次查看我的主屏幕导航

检查所有屏幕,您将了解我想要的内容。 我想手动取消所有导航栏分配表单。

隐藏或显示调试区域中的“调试视图层次结构”中的屏幕截图 - XCODE。

1 个答案:

答案 0 :(得分:0)

这对我有用:)

每次在

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

如果它不是完美的答案,那么显示正确的答案。提前谢谢。