iOS 5 UINavigationBar删除子视图(图像子视图)删除导航栏 [英] iOS 5 UINavigationBar removing subviews ( image subview) removes navigation bar
问题描述
在我的应用程序中,在iOS 4上工作正常导航棒从iOS 5开始消失了。这是我认为导致的问题:我正在删除RootViewController中的子视图viewWillAppear方法:
In my application that works fine on iOS 4 navigationBar dissappeared starting iOS 5. Here is what I figured caused issue: I was removing subviews in RootViewController viewWillAppear method:
for(UIView* view in self.navigationController.navigationBar.subviews)
{
if ([view isKindOfClass:[UILabel class]])
{
[view removeFromSuperview];
}
if([view isKindOfClass:[UIImageView class]])
{
[view removeFromSuperview];
}
}
我这样做因为我推的第二个视图控制器到导航控制器添加图像和标签到导航栏,我必须在弹出视图时删除。在iOS 5中,上面的代码删除了navigationBar。如何修复这个或正确的方法来支持iOS4和iOS 5?
I was doing this because Second view controller that I push onto navigation controller add's image and label to navigation bar which I have to remove when view is popped. In iOS 5 the above code removes navigationBar. How to fix this or right way of doing it to support both iOS4 and iOS 5 ?
推荐答案
setTag用于那些图像和uilabel然后从上面的代码中删除它就行了。
setTag for those image and uilabel then removing it from code above did the trick.
for(UIView* view in self.navigationController.navigationBar.subviews)
{
if(view.tag == 9 || view.tag == 99)
{
[view removeFromSuperview];
}
}
这篇关于iOS 5 UINavigationBar删除子视图(图像子视图)删除导航栏的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!