iOS 5 UINavigationBar删除子视图(图像子视图)删除导航栏

ARC*_*ARC 9 xcode objective-c ios ios5

在我的应用程序中,在iOS 4上运行正常导航棒从iOS 5开始消失了.这是我想到的问题:我在RootViewController中删除子视图viewWillAppear方法:

for(UIView* view in self.navigationController.navigationBar.subviews)
    {
        if ([view isKindOfClass:[UILabel class]]) 
        {
            [view removeFromSuperview];
        }
        if([view isKindOfClass:[UIImageView class]])
        {
            [view removeFromSuperview];
        }
    }
Run Code Online (Sandbox Code Playgroud)

我这样做是因为我推入导航控制器的第二个视图控制器将图像和标签添加到导航栏,我必须在弹出视图时将其删除.在iOS 5中,上面的代码删除了navigationBar.如何解决这个或正确的方式来支持iOS4和iOS 5?

ARC*_*ARC 6

setTag为那些图像和uilabel然后从上面的代码中删除它做了伎俩.

for(UIView* view in self.navigationController.navigationBar.subviews)
{
   if(view.tag == 9 || view.tag == 99)
   {
      [view removeFromSuperview];
   }
}
Run Code Online (Sandbox Code Playgroud)