2011-10-06 14 views
6

पर बैक बटन कैसे जोड़ें, मैं देखने के लिए लाइब्रेरी के माध्यम से UINavigationBar जोड़ता हूं। मैं इस नेविगेशनबार में यूनाविगेशन इटिम भी जोड़ता हूं।नेविगेशन बैक बटन नहीं दिखाता है, UINavigationItem

viewController.m में, मैंने निम्नलिखित कोड जोड़ा लेकिन बैक बटन नहीं दिखाया गया है।

self.navigationItem.title = @"List"; 
self.navigationItem.backBarButtonItem.title = @"Back"; 
+1

क्या आपने 'self.navigationItem.hidesBackButton = NO' को आजमाया था? – EmptyStack

+0

केवल बैक बटन दिख रहा है या पूरे नेविगेशन बार नहीं है? – HeikoG

+1

मुझे बस यह समस्या थी और यह मेरे लिए हल हो गया: http://stackoverflow.com/questions/2485671/uinavigationcontroller-back-button-not-visible-but-works – banDedo

उत्तर

2

self.navigationItem.backBarButtonItem दिखाया जाएगा के बाद ही अपने, अगर नेविगेशन पट्टी पर कोई बाएं बटन प्रदर्शित किया जाता है एक और एक self.navigationController द्वारा नियंत्रित है, नेविगेशन ढेर करने के लिए दृश्य धकेल दिया।

एप्पल डॉक्स से:

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

+0

आपकी जानकारी के लिए धन्यवाद। वर्तमान में मैं नहीं करता नेविगेशन स्टैक पर धक्का दृश्य का उपयोग करें। मैंने इस दृश्य को मुख्य दृश्य से addSubView विधि के साथ बुलाया।तो मेरे नेविगेशन में बैक बार बटन आइटम कैसे जोड़ें Item या बैक बार बटन आइटम को कैसे सक्षम करें। –

+0

आपको कस्टम बटन बनाना चाहिए और इसे 'self.navigationItem.leftBarButtonItem' के रूप में सेट करना चाहिए। @ 516 – Nekto

+0

द्वारा उत्तर की जांच करें मैं इसे आज़माता हूं। लेकिन अभी भी नहीं दिखाया गया है। –

2

इस कोड का प्रयास करें,

**To hide your default back button use this,** 



self.navigationItem.hidesBackButton = YES; 

UIImage* image = [UIImage imageNamed:@"back.png"]; 
    CGRect frame = CGRectMake(0, 0, image.size.width, image.size.height); 
    UIButton* backbtn = [[UIButton alloc] initWithFrame:frame]; 
    [backbtn setBackgroundImage:image forState:UIControlStateNormal]; 
    [backbtn setShowsTouchWhenHighlighted:YES]; 
    [backbtn addTarget:self action:@selector(goBack) forControlEvents:UIControlEventTouchUpInside]; 
    UIBarButtonItem* backButtonItem = [[UIBarButtonItem alloc] initWithCustomView:backbtn]; 
    [self.navigationItem setLeftBarButtonItem:backButtonItem]; 
    [backButtonItem release]; 
    [backbtn release]; 

कार्रवाई वापस बटन के लिए घटना:

-(IBAction)goBack{ 
//ur code here 

}

2

इस कोड को हो सकता है की कोशिश करो यह यू

UIButton *moreButton1 = [UIButton buttonWithType:UIButtonTypeCustom]; 
    [moreButton1 setImage:[UIImage imageNamed:@"left_arrow.png"] forState:UIControlStateNormal]; 
    //[moreButton setImage:[UIImage imageNamed:@"Button_OtherInfo_Active.png"] forState:UIControlStateHighlighted]; 
    [moreButton1 addTarget:self action:@selector(backClick) forControlEvents:UIControlEventTouchUpInside]; 
    [moreButton1 setFrame:CGRectMake(0, 0, 50,30)]; 
    self.navigationItem.leftBarButtonItem=[[UIBarButtonItem alloc] initWithCustomView:moreButton1]; 
को सहायता प्रदान की गई

viewDidLoad

-(void)backClick 
{ 
    [self.navigationController popViewControllerAnimated:YES]; 
} 
0

में इस कोड डाल इसमें कुछ समय पुरानी है, लेकिन मामले में कोई एक जवाब की तलाश में है ...

वापस बटन अपने आप दिखाई देता है, लेकिन मौजूदा एक नहीं दृश्य (धक्का दिया जा रहा है) एक शीर्षक होना चाहिए। उदाहरण के लिए:

- (void)viewDidLoad 
{ 
    self.title = @"Home"; 
    [super viewDidLoad]; 
} 

फिर, जब आप

[self.navigationController pushViewController:aViewController animated:YES]; 

साथ दृश्य ढेर पर एक दृश्य धक्का वापस बटन दिखाता है। UINavigationItem या UINavigationBar के साथ गड़बड़ करने की कोई ज़रूरत नहीं है। नेविगेशन बार को कस्टमाइज़ करने के लिए उन का प्रयोग करें। एक्सकोड का हिस्सा, नवबार नामक उदाहरण प्रोजेक्ट पर नज़र डालें।

8

इस प्रयास करें:

self.navigationItem.leftItemsSupplementBackButton = YES; 

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

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