問題描述
在我在 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 中,上面的代碼刪除了導航欄.如何解決此問題或以正確的方式支持 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 ?
推薦答案
為這些圖像和 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 刪除子視圖(圖像子視圖)刪除導航欄的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!