2011-10-21 27 views
9

मैंने आईबी में एक साधारण यूआई बनाया है, इसमें UINavigationBar और UIBarButtonItem शामिल हैं जिन्हें मैंने दाएं हाथ पर खींचा और गिरा दिया।मैं UIBarButtonItem को कैसे छुपा सकता हूं?

मैं इस बटन को एक निश्चित समय छिपाने के लिए सेट करने की कोशिश कर रहा हूं लेकिन मुझे कुछ समस्याएं हैं।

अब तक मैं का उपयोग कर की कोशिश की है:

self.NavigationItem.rightBarButton = nil; 

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

कृपया कोई मेरी मदद कर सकता है?

+0

सुनिश्चित करें कि आपका नेविगेशन इटैम आउटलेट सेट है। – logancautrell

उत्तर

25

UINavigationItem में rightBarButton संपत्ति नहीं है। बजाय rightBarButtonItem (या [self.navigationItem setRightBarButtonItem:nil animated:NO];) का प्रयास करें:

self.navigationController.navigationItem.rightBarButtonItem = nil; 
// Or 
self.navigationItem.rightBarButtonItem = nil; 
// Or 
[self.navigationItem setRightBarButtonItem:nil animated:NO]; 
1

बस बटन

-(void)setItems:(NSArray *)items animated:(BOOL)animated 
रीसेट

अधिक यहाँ जानकारी: http://developer.apple.com/iphone/library/documentation/uikit/reference/UIToolbar_Class/Reference/Reference.html#//apple_ref/occ/instm/UIToolbar/setItems%3aanimated%3a

आप आइटम संपत्ति का उपयोग कर मौजूदा आइटम प्राप्त है, तो बस को हटा सकते हैं एक जिसे आप नए एनएसएआरएआरए में दिखाना और पास नहीं करना चाहते हैं।

0

आप यूआईबटन को UIBarButtonItem के कस्टम व्यू के रूप में भी जोड़ सकते हैं। फिर कस्टम व्यू (UIButton)

0

पर छिपी हुई संपत्ति को सेट करें बटन बार आइटम को हटाने और बटन को नष्ट करने और इसके साथ जुड़े स्टोरीबोर्ड सेगू को हटाने के बजाय, आप इसे अक्षम होने पर टेक्स्ट को साफ़ करने के लिए सेट कर सकते हैं।

[self.navigationItem.rightBarButtonItem setTitleTextAttributes:@{NSForegroundColorAttributeName:[UIColor clearColor]} 
                 forState:UIControlStateDisabled]; 

फिर कभी आप चाहते हैं बार बटन आइटम को छिपा जब, आप बस कर सकते हैं:

self.navigationItem.rightBarButton.enabled = NO; 

यह लंगड़ा है वहाँ कोई छिपा संपत्ति है, लेकिन यह एक ही परिणाम प्रदान करता है।

0

असल में, तुम सिर्फ वांछित UIBarButtonItem के लिए एक IBOutlet संदर्भ बना सकते हैं और जरूरत पड़ने पर बस के रूप में पालन करें:

[self.yourOutletRerence setImage: nil]; 
0

सरल समाधान: बस रीति के BarButtonItem के पहचानकर्ता बदल जाते हैं।

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

  • कोई संबंधित समस्या नहीं^_^