2011-08-05 15 views
10

जब मैं इसका उपयोग करता हूं: [self.navigationItem setHidesBackButton:YES animated:NO]; मेरे नेविगेशनबार में बैक बटन छुपाने के लिए, मेरा शीर्षक केंद्रित नहीं होता है। यह बटन की तरह प्रिंट करता है अभी भी वहां है।UINavigationBar में वापस बटन समस्या छिपाएं

क्या किसी को पता है कि ऐसा क्यों होता है, और इसे कैसे ठीक किया जाए?

संपादित करें:

मेरे कार्यक्रम इतना की तरह है: मेरी rootViewController एक नेविगेशन नियंत्रक है, और मैं सेट कि इतने नेविगेशन पट्टी छिपा हुआ है। फिर मैं एक और UIViewController को दबाता हूं, जिसे मैं नेविगेशन बार फिर से दिखता हूं, लेकिन बैक बटन गायब हो जाता है।

मैंने self.navigationItem.backBarButtonItem = nil; सेटिंग की कोशिश की, लेकिन यह बैकबटन गायब नहीं हुआ।

यहाँ संदर्भ के लिए कुछ तस्वीरें है:

Picture with back button Picture without

+0

आपका क्या मतलब है कि शीर्षक केंद्रित नहीं होता है? यह क्या प्रिंट करता है? – Legolas

+0

शीर्षक "कार्य कैलेंडर" है, और यह मुद्रित हो जाता है लेकिन यह केंद्र से दाएं से अधिक है। यह बटन वापस चला गया है, भले ही बटन वापस चला गया है, भले ही कोई बटन नहीं लेता है। – jylee

+0

डिफ़ॉल्ट रूप से, शीर्षक केंद्रित है। बैक बटन को – Legolas

उत्तर

6

सेट self.navigationItem.backBarButtonItem = nil;

+0

पर सेट करने का प्रयास करें मैंने कोशिश की है लेकिन ऐसा लगता है कि बैक बटन गायब नहीं हुआ है। मैंने अपने प्रश्न में और जानकारी जोड़ दी है, अगर आप कर सकते हैं तो कृपया इसे देखें! – jylee

+0

बैक बटन के शीर्षक के साथ आपकी समस्या है? – Legolas

+1

मैंने आपको यह दिखाने के लिए चित्र जोड़े कि मेरा क्या मतलब है – jylee

1

समस्या आप में चल रहे हैं, क्योंकि आप अपने नेविगेशन पट्टी की संरचना नहीं बदल रहे हैं, तो आप सिर्फ का हिस्सा छुपा रहे हैं यह। जब आप अपने बटन के छिपे हुए मूल्य को सेट करते हैं, तो आप इसे केवल छुपाते हैं, इसे छुपाते हैं, इसे हटा नहीं देते हैं। यह अभी भी जगह ले जाएगा। अपनी समस्या को हल करने के लिए आपको बटन को हटाने की आवश्यकता है, फिर जब आप उपयोग को नेविगेट करने में सक्षम होना चाहते हैं, तो बस अपना बटन वापस जोड़ें।

यथार्थ रूप से, यदि आपके पास इस तरह के डिस्प्ले समस्याएं हैं, तो आपको अपने नेविगेशन बार UI डिज़ाइन पर पुनर्विचार करना चाहिए और एक अधिक प्रभावी बटन शीर्षक के साथ आने का प्रयास करना चाहिए।

1

आपके द्वारा सेटिंग की जा रही संपत्ति यह दर्शाती है कि नेविगेशन नियंत्रक स्टैक में "पिछला" आइटम कब "स्वयं" का प्रतिनिधित्व करता है। मुझे लगता है कि आप इसे अपने "कार्य कैलेंडर" व्यू कंट्रोलर में सेट कर रहे हैं, यह तब तक काम नहीं करेगा जब तक कि नियंत्रक के पास बच्चे के विचार न हों।

नेविगेशन बार को बाएं बटन इटैम संपत्ति को इसके बजाय शून्य करने की कोशिश करें।

55
viewController.navigationItem.hidesBackButton = YES; 

यह पूरी तरह से काम करता है!

+2

मेरे मामले में self.navigationItem।छुपाएं बैकबटन = हाँ; यह काम किया :) – iMeMyself

+7

यह सही जवाब है। –

+3

यह सही टिप्पणी है :) – Fattie

13

बस इसका इस्तेमाल किया और यह काम करता है।

[self.navigationItem setHidesBackButton:YES animated:NO]; 
self.navigationItem.titleView.center = self.navigationController.navigationBar.center; 
+0

+1 - यह मेरे लिए काम किया। – viral

+0

यह मेरे लिए भी काम करता है, धन्यवाद। –

संबंधित मुद्दे