2013-10-17 4 views
7

कृपया, रूट दृश्य में नेविगेशन नियंत्रक को छिपाने में मेरी सहायता करें। मुझे हर दृश्य नियंत्रक में [navigationController setNavigationBarHidden:YES] लिखने का समाधान मिला है। खैर, यह काम करता है लेकिन केवल पहली बार: मैं रूट दृश्य में एप्लिकेशन चलाता हूं, मेरे पास नेविगेशन नहीं है, फिर मैं दूसरे दृश्य पर जाता हूं - नेविगेशन प्रकट होता है, ठीक है। लेकिन फिर मैं नेविगेशन नियंत्रक में "बैक" दबाता हूं, और रूट व्यू से नेविगेशन गायब नहीं होता है। मैं xib के साथ काम करता हूँ।रूट व्यू में नेविगेशन कंट्रोलर को कैसे छिपाना है?

उत्तर

18

rootViewController

-(void)viewWillAppear:(BOOL)animated 
{ 
    [self.navigationController setNavigationBarHidden:YES animated:NO]; 
} 

दूसरे दृश्य में (rootViewController के बगल में) में

-(void)viewDidLoad:(BOOL)animated 
{ 
    [self.navigationController setNavigationBarHidden:NO animated:NO]; 
} 
+1

धन्यवाद में छिपा कोड डाला! आपका जवाब काम करता है। उत्तर के लिए सभी को धन्यवाद। –

0

इस आजमाएँ

अपने सभी दृश्य नियंत्रकों पर कोड की इस पंक्ति का उपयोग

[navigationController setNavigationBarHidden: YES animated:YES]; 

कोई एनीमेशन की जरूरत है, तो आप क्या कर सकते हैं एनिमेटेड: NO और viewDidLoad में इस कोड को जोड़ने या इसे रखा viewWillAppear या viewDidAppear।

अपने मामले

[navigationController setNavigationBarHidden:YES animated:NO]; 
अपने rootViewController पर

में, और

[navigationController setNavigationBarHidden:NO animated:YES]; 

अपने अन्य viewControllers

0

छिपाएं नेविगेशन बार सभी दृश्य नियंत्रक के दृश्य विधि प्रदर्शित होंगे।

-(void)viewWillAppear:(BOOL)animated 
{ 
[super viewWillAppear:animated]; 
[navigationCOntroller setNavigationBarHidden:YES animated:animated]; 
} 
0

मेरा मानना ​​है कि आप टैब बार नियंत्रक का उपयोग कर रहे हैं।

आपका कोड पहले व्यू कंट्रोलर के लिए काम कर रहा है क्योंकि आपके पास केवल कोड है। दूसरे दृश्य नियंत्रक के लिए, यह डिफ़ॉल्ट हो जाता है और इसलिए दूसरे दृश्य नियंत्रक के लिए आपको नेविगेशन बार दिखाई देता है।

सभी दृश्य नियंत्रक के लिए नेविगेशन पट्टी को छुपाने के लिए, सभी दृश्य नियंत्रकों viewWillAppear

-(void)viewWillAppear:(BOOL)animated 
{ 
    [self.navigationController setNavigationBarHidden:YES animated:NO]; 
} 
+0

ऐसा लगता है कि यह आपको लिखने में सबसे लंबा लगा है :) – Jaro

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