2011-11-08 27 views
10

पर कैसे बदलें जब मैं नेविगेशन नियंत्रक पर एक दृश्य दबाता हूं तो बैक बटन का शीर्षक पिछले दृश्य के शीर्षक पर सेट हो जाता है। मैं "बैक" कहने के लिए बैक बटन कैसे प्राप्त कर सकता हूं?UINavigationBar बैक बटन के शीर्षक को "बैक"

+0

उल्लेख है कि आईओएस ह्यूमन इंटरफ़ेस दिशानिर्देश मदद करने के लिए अपने उपयोगकर्ताओं को बोध में निर्दिष्ट करते हैं कि वापस बटन "पिछले स्तर के शीर्षक के साथ लेबल किया जाना चाहिए" वर्थ: https://developer.apple .com/लाइब्रेरी/आईओएस/दस्तावेज़ीकरण/उपयोग-प्रदर्शन/वैचारिक/मोबाइलहिग/Bars.html # // apple_ref/doc/uid/TP40006556-CH12-SW3 – cleverbit

उत्तर

30

लिखें अपने viewwillappear में इस कोड:

UIBarButtonItem *_backButton = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStyleDone target:nil action:nil]; 
self.navigationItem.backBarButtonItem = _backButton; 
[_backButton release]; 
_backButton = nil; 
+0

यह न तो बैक बटन की तरह दिखता या कार्य करेगा। – jrturton

+3

हां यह होगा। 'BackBarButtonItem' प्रॉपर्टी विशेष रूप से इस तरह काम करने के लिए डिज़ाइन की गई है और 'UIBarButtonItem' से शीर्षक या कस्टम दृश्य लेगी जिसे आप इसे देते हैं और इसे बैक-स्टाइल बटन में बनाते हैं। –

+1

बस यह कहना चाहता था, इस सवाल के पूछने वाले के रूप में यह समाधान निश्चित रूप से मेरे लिए काम करता था। मुझे बस दृश्य नियंत्रक के दृश्य WillAppear में कोड जोड़ने की आवश्यकता है जो नए दृश्य को दबा रहा है। – cgossain

3

पिछले दृश्य नियंत्रक में, यह करने के लिए अपने शीर्षक बदलने की है, यह कोड उस नए दृश्य नियंत्रक धक्का में viewWillAppear में इसके शीर्षक पर निर्धारित करते हैं, और उसके बाद है 'वापस।'

उदाहरण:

-(void)showNextScreen{ 
    [self setTitle:@"Back"]; 
    [self.navigationController pushViewController:asdf animated:YES]; 
} 
-(void)viewWillAppear{ 
    [super viewWillAppear]; 
    [self setTitle:@"My Actual Title"]; 
} 
+0

अच्छा लगा .. लेकिन जब नई स्क्रीन आती है, तो पिछली स्क्रीन शीर्षक में वापस दिखती है, जो बेहतर नहीं है। अच्छा विचार हालांकि! – nithinreddy

+0

यदि आप यह उत्तर पढ़ रहे हैं -> इसके बजाय स्वीकृत उत्तर का उपयोग करें, यह बहुत बेहतर है! – Tim

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