अपने आवेदन में यहाँ आईओएस 5. शुरू कर लापता को हटा मैं क्या सोचा की वजह से इस मुद्दे को है: मैं RootViewController viewWillAppear विधि में subviews को हटाने गया था:iOS 5 UINavigationBar को हटाने subviews (छवि subview) कि आईओएस 4 navigationBar पर ठीक काम करता है नेविगेशन पट्टी
for(UIView* view in self.navigationController.navigationBar.subviews)
{
if ([view isKindOfClass:[UILabel class]])
{
[view removeFromSuperview];
}
if([view isKindOfClass:[UIImageView class]])
{
[view removeFromSuperview];
}
}
मैं ऐसा इसलिए कर रहा था क्योंकि दूसरा दृश्य नियंत्रक जो मैंने नेविगेशन नियंत्रक ऐड की छवि और लेबल पर नेविगेशन बार पर दबाया है जिसे देखने के दौरान मुझे निकालना है। आईओएस 5 में उपरोक्त कोड नेविगेशनबार हटा देता है। आईओएस 4 और आईओएस 5 दोनों का समर्थन करने के लिए इसे करने का सही या सही तरीका कैसे ठीक करें?
हां, यह तकनीकी रूप से काम करेगा, लेकिन यदि आपका या किसी और को बाद में वापस आने की आवश्यकता है तो आपका कोड काफी कम समझ में आता है। आप प्रभावी ढंग से पढ़ने में सक्षम नहीं होने का जोखिम चलाते हैं और आपका कोड क्या कर रहा है इसका ट्रैक रखें। कम से कम उन टैग स्थिरांक को यह देखने में सहायता करें कि आप क्या हटा रहे हैं। – RPeck
आप नीचे दिए गए कोड [(UILabel *) [self.navigationController.navigationBar viewWithTag: yourViewTag] removeFromSuperview] का उपयोग करके सबव्यू को हटा सकते हैं; – Himanshu