2011-02-28 17 views
5

अरे, मैंने एक कक्षा (ए) लिखा है जिसमें नेविगेशन बटन के कार्यान्वयन सहित कुछ कार्यक्षमताएं हैं। कक्षा ए में एक दृश्य और संपादन मोड दोनों हैं, मैं केवल संपादन मोड में होने पर बटन दिखाना चाहता हूं। अब तक मैं इस बटन को हटाने में सक्षम नहीं हूं और मैं वास्तव में संपादन के लिए किसी अन्य वर्ग में नहीं बनाना चाहता हूं।नेविगेशन बटन हटाएं

अन्य वर्ग भी इस कार्यक्षमता का उत्तराधिकारी है इसलिए मैं वास्तव में माता-पिता के साथ गड़बड़ नहीं करना चाहता हूं।

कोड है कि मैं बटन बनाने के लिए उपयोग के नीचे है:

UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];  
UIImage *buttonImage = [UIImage imageNamed:@"button.png"]; 

[button addTarget:self 
       action:@selector(buttonPressed:) 
    forControlEvents:UIControlEventTouchUpInside]; 

button.bounds = CGRectMake(0, 0, buttonImage.size.width, buttonImage.size.height); 

[button setBackgroundImage:buttonImage forState:UIControlStateNormal]; 
[button setTitle:NSLocalizedString(@"BUTTON", @"") 
      forState:UIControlStateNormal]; 

LPRBSLabel *buttonLabel = [[LPRBSLabel alloc] initWithStyle:UICustomeButtonTitle]; 
[button setTitleEdgeInsets:UIEdgeInsetsMake(0.0, 0.0, -5.0, 0.0)]; 

button.titleLabel.font = buttonLabel.font; 
[button setTitleColor:buttonLabel.textColor forState:UIControlStateNormal]; 
[buttonLabel release]; 

UIBarButtonItem *barLeftInfoButton = [[UIBarButtonItem alloc] initWithCustomView:button]; 
self.navigationItem.leftBarButtonItem = barLeftInfoButton; 
[barLeftInfoButton release]; 

उत्तर

14

मैं कामयाब का उपयोग कर इसे हल करने के लिए:

self.navigationItem.leftBarButtonItem = nil; 

मैं एक मन स्थिर था और इससे पहले कि उपरोक्त कथन उपयोग कर रहा था बटन वास्तव में बनाया गया था :-(

8

नेविगेशनइटम की संपत्ति "छुपाएं बैकबटन" को हां में सेट करना आसान होगा:

http://developer.apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/UINavigationItem_Class/Reference/UINavigationItem.html#//apple_ref/occ/cl/UINavigationItem

+0

कि समाधान उपरोक्त कोड में काम नहीं होगा, जैसा कि हम एक कस्टम बटन पैदा कर रहे हैं और जोड़ने डिफ़ॉल्ट बैक बटन – williamb

+0

आह का उपयोग करने के बजाय नेविगेशन बार में, मैं देखता हूं। आप सही हैं। – NovaJoe

+0

self.navigationItem.hidesBackButton = हाँ; – PaperThick

0

विचार करने का एक अन्य विकल्प बटन को तब तक अक्षम करना है जब तक आप इसे कार्य नहीं करना चाहते। यह दिखाई देगा, लेकिन मंद हो जाएगा।

self.navigationItem.leftBarButtonItem.enabled = NO; 
-2

नेविगेशन बार से बटन निकालने के लिए बस बटन को टैग निर्दिष्ट और लिखना एक नीचे कोड

[[self.navigationController.navigationBar viewWithTag:0106] removeFromSuperview]; 
संबंधित मुद्दे