2009-09-08 17 views
5

मेरे पास एक आईफोन ऐप है जो नेविगेशन नियंत्रक पर आधारित है।ऑटो छिपाने UINavigationBar और UIToolbar

मेरे पास एक मुख्य दृश्य नियंत्रक है जो लेखों की एक सूची प्रदर्शित करता है, और एक विस्तृत दृश्य, जहां आप UIWebView में एक लेख देख सकते हैं। विस्तार से देखने के लिए, मेरे पास शीर्ष पर नेविगेशन बार है, और नीचे UIToolbar है।

मैं उन्हें एक स्लाइड एनीमेशन (ऊपर और नीचे) के साथ स्वतः छिपाना चाहता हूं और स्क्रीन को टैप करते समय उन्हें पुनर्स्थापित करना चाहता हूं। मैंने सोचा कि यह एक मानक समारोह होगा, लेकिन यह नहीं पता कि इसे कैसे किया जाए।

एक संदर्भ के रूप में, यह स्टैनज़ा या एनवाईटी ऐप करता है।

उत्तर

17

एक विधि है कि एक नल घटना पर इस चलाता सेट करें:

if (![navigationController isNavigationBarHidden]) 
    [navigationController setNavigationBarHidden:YES animated:YES]; // hides 
else 
    [navigationController setNavigationBarHidden:NO animated:YES]; // shows 

UIToolbar का सवाल है, यह एक UIView उपवर्ग है, तो आप में इस रपट के लिए बहुत आसानी से एक custom animation स्थापित करने के लिए सक्षम होना चाहिए और दृष्टि से बाहर।

1

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

BOOL hide = ![self.navigationController isNavigationBarHidden]; 
[self.navigationController setNavigationBarHidden:hide animated:YES]; 
1

वहाँ भी UIViewController के लिए काफी उपयोगी तरीका है।

- (BOOL) hidesBottomBarWhenPushed { 
//hide a toolbar or whatever 
return NO; 
} 
0

मैं हाल ही में लगता है कि आप उपयोग कर सकते हैं self.navigationController.hidesBarsOnTap = true;