2014-09-17 7 views
5

परिदृश्यXcode: जब एक नेविगेशन नियंत्रक कार्यान्वित "वापस" बटन दबाया जाता है

मैं एक नेविगेशन नियंत्रक के साथ वाला ऐप का पता लगा रहा। जब नेविगेशन नियंत्रक स्टैक पर एक और नियंत्रक को धक्का देता है, तो स्क्रीन के ऊपरी बाएं कोने में यह बैक बटन "< (अंतिम दृश्य नियंत्रक का शीर्षक) दिखाता है"।

मैं क्या जरूरत है

मैं (छद्म कोड) की तरह कुछ जरूरत है ...

-(void)detectedBackButtonWasPushed { 

    NSLog(@"Back Button Pressed"); 

    //Do what I need done 

} 

प्रश्न

क्योंकि इस बटन नेविगेशन नियंत्रक द्वारा बनाई गई है और मैंने स्टोरीबोर्ड में यह बटन नहीं बनाया, मैं इस तरह की विधि में बैक बटन 'हुक अप' कैसे प्राप्त करूं?

क्या Ive ओलेग

-(void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated { 

    UIViewController *vc = [self.storyboard instantiateViewControllerWithIdentifier:@"notification"]; 

    if (viewController == vc) { 

     NSLog(@"BACK BUTTON PRESSED"); 
    } 
} 

के लिए करने की कोशिश की के उदाहरण यह कैसे मैं यह क्या करना चाहिए कर रहा हूँ है? क्योंकि यह काम नहीं करता है।

उत्तर

4

इसका पता लगाने के लिए viewWillDisappear का उपयोग करें।

-(void) viewWillDisappear:(BOOL)animated 
{ 
    if ([self.navigationController.viewControllers indexOfObject:self]==NSNotFound) 
    { 
     [self backButtonPressed]; 
     [self.navigationController popViewControllerAnimated:NO]; 
    } 

    [super viewWillDisappear:animated]; 
} 

-(void)backButtonPressed 
{ 
    NSLog(@"YEA"); 
} 
+1

नकारात्मक। जब आप स्क्रीन गायब हो जाते हैं तो मैं सही कह सकता हूं। समस्या यह है कि मेरे पास अतिरिक्त कार्यक्षमता है (नीचे टैब बार को खोलना) जो होना चाहिए ** इससे पहले ** स्क्रीन गायब हो जाती है। अन्यथा, स्क्रीन गायब होने के बाद टैब बार छुपा रहता रहेगा। जो मेरे ऐप्स नेविगेशन को नष्ट कर देता है। मैं इसे कैसे पूर्ण करूं? –

+0

UINavigationControllerDelegate पर एक नज़र डालें। और उपयोग करने का प्रयास करें - (शून्य) नेविगेशन नियंत्रक: (UINavigationController *) नेविगेशन नियंत्रक WillShiewViewController: (UIViewController *) view नियंत्रक एनिमेटेड: (BOOL) एनिमेटेड –

+0

ठीक है मैं इसे देखता हूं –

0

इससे पहले, मैं navigationBar leftItem की स्थापना किसी और यह करने के लिए की जरूरत है जो कुछ के साथ दृश्य को खारिज करते हुए कि एक कस्टम चयनकर्ता के साथ एक वापस बटन बनने के लिए इस समाधान कर लिया है।

मैं बैक बटन आइटम को देखने और लक्ष्य जोड़ने का भी सुझाव दे सकता हूं: स्वयं को स्पर्श पर बुलाया जाता है।

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

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