जवाबों:
उद्देश्य सी:
self.navigationItem.hidesBackButton = YES;
स्विफ्ट:
navigationItem.hidesBackButton = true
self.navigationItem.leftBarButtonItem = nil;
। यदि आपने बाएंबारबुटोनिटेम को विस्फोटक रूप से सेट किया है तो आप इसका उपयोग कर सकते हैं self.navigationItem.leftBarButtonItem = nil;
। self.navigationItem.hidesBackButton = YES;
बैक बटन
सबसे अच्छा तरीका यह है कि इन्हें मिलाया जाए, इसलिए यह बैक बटन को छुपा देगा भले ही आप इसे मैन्युअल रूप से सेट करें:
self.navigationItem.leftBarButtonItem=nil;
self.navigationItem.hidesBackButton=YES;
बेली कोड के साथ बैक बटन छिपाएं ...
[self.navigationItem setHidesBackButton:YES animated:YES];
या
[self.navigationItem setHidesBackButton:YES];
साथ ही अगर आपके पास कस्टम है UINavigationBar
तो bellow code try करें
self.navigationItem.leftBarButtonItem = nil;
कोड का उपयोग करें:
self.navigationItem.backBarButtonItem=nil;
यह मत भूलो कि आपको इसे उस वस्तु पर कॉल करने की आवश्यकता है जिसमें नौसेना नियंत्रक है। उदाहरण के लिए, यदि आपके पास एक रुट व्यू कंट्रोलर के साथ टैब बार कंट्रोलर self.navigationItem.hidesBackButton = YES
पर नेवी कंट्रोलर है, तो रूटव्यूकंट्रोलर पर कॉल करने से कुछ नहीं होगा। आपको वास्तव में कॉल करना होगाself.tabBarController.navigationItem.hidesBackButton = YES
यह मत भूलो कि अब हमारे पास इशारे को वापस करने के लिए स्लाइड है। आप शायद इसे भी हटाना चाहते हैं। यदि आवश्यक हो तो इसे फिर से सक्षम करने के लिए मत भूलना।
if ([self.navigationItem respondsToSelector:@selector(hidesBackButton)]) {
self.navigationItem.hidesBackButton = YES;
}
if ([self.navigationController respondsToSelector:@selector(interactivePopGestureRecognizer)]) {
self.navigationController.interactivePopGestureRecognizer.enabled = NO;
}
इस कोड को अपने व्यू कंट्रोलर में जोड़ें
UIView *myView = [[UIView alloc] initWithFrame: CGRectMake(0, 0, 300, 30)];
UIBarButtonItem *btnL = [[UIBarButtonItem alloc]initWithCustomView:myView];
self.navigationItem.leftBarButtonItem = btnL;
मेरे लिए उपरोक्त में से कोई भी काम नहीं कर रहा था, इसका कोई दृश्य प्रभाव नहीं था। मैं स्टोरीबोर्ड का उपयोग एक दृश्य के साथ कर रहा हूं जो नेविगेशन नियंत्रक में "एम्बेडेड" है।
मैं तब कोड स्तर पर अपना मेनू जोड़ देता हूं और किसी कारण से "बैकबटन" दिखाई देता है जब दृश्य पदानुक्रम को नेत्रहीन रूप से डीबग करता है, और मेरा मेनूइटेम आइकन अदृश्य "बैक बटन" के नीचे प्रदर्शित होता है।
मैंने सेटिंग्स की कोशिश की, जैसा कि विभिन्न हुक तरीकों पर सुझाव दिया गया था और इसका कोई प्रभाव नहीं था। फिर मैंने एक और अधिक क्रूर दृष्टिकोण और उपक्षेत्र पर पुनरावृति की कोशिश की जिसका कोई प्रभाव नहीं पड़ा।
मैंने अपने आइकन आकार का निरीक्षण किया और ठीक प्रतीत हुआ। उन्होंने ऐप्पल ह्यूमन इंटरफेस गाइडलाइन का हवाला देने के बाद पुष्टि की कि मेरे आइकॉन सही हैं। (1 पिक्सेल मेरे मामले में छोटे 24px 48px 72px)।
अजीब हिस्सा तो वास्तविक तय है ...
बारबटन आइटम जोड़ते समय इसे कम से कम एक चरित्र के साथ एक शीर्षक दें , मेरे मामले में एक अंतरिक्ष चरित्र।
आशा है कि यह किसी की मदद करता है।
//left menu - the title must have a space
UIBarButtonItem *leftButtonItem = [[UIBarButtonItem alloc] initWithTitle:@" " <--THE FIX
style:UIBarButtonItemStylePlain
target:self
action:@selector(showMenu)];
leftButtonItem.image = [UIImage imageNamed:@"ic_menu"];
[self.navigationItem setLeftBarButtonItem:leftButtonItem];
C # या Xamarin.ios में, यह .NavigationItem.idesBackButton = true;
navigationItem.leftBarButtonItem = nil
navigationItem.hidesBackButton = true
अगर आप इस कोड ब्लॉक का उपयोग करते हुए didLoad या loadView काम किया है, लेकिन पूरी तरह से काम नहीं किया है। यदि आप ध्यान से देखें तो आप देख सकते हैं कि जब आपका दृश्य लोड होता है तो बैक बटन छुपा होता है। अजीब है।
सही समाधान क्या है?
अपने लक्ष्य व्यू कॉन्ट्रॉलर्स नेविगेशन बार में घटक दृश्य (कमांड + शिफ्ट + एल) से बारबटन इटेम घटक जोड़ें ।
दाएँ पैनल से BarButtonItem सेट शीर्षक = "" चुनें