यह कुछ ऐसा नहीं है जो कोड की कुछ पंक्तियों में फिट हो सकता है, लेकिन यह एक दृष्टिकोण है जो आपके लिए काम कर सकता है।
नेविगेशन बार को छिपाने के लिए:
[[self navigationController] setNavigationBarHidden:YES animated:YES];
इसे दिखाने के लिए:
[[self navigationController] setNavigationBarHidden:NO animated:YES];
इस विधि के लिए प्रलेखन यहाँ उपलब्ध है ।
"डबल क्लिक" या डबल-टैप करने के लिए सुनने के लिए, उपवर्ग UIViewऔर उस उपवर्ग का एक उदाहरण बनाएं जो आपके दृश्य नियंत्रक की viewसंपत्ति है।
दृश्य उपवर्ग में, इसकी -touchesEnded:withEvent:विधि को ओवरराइड करें और गिनें कि आप कितने समय में कितने स्पर्श प्राप्त करते हैं, लगातार दो नलों के बीच के समय को मापकर, शायद CACurrentMediaTime()। या से परिणाम का परीक्षण करें [touch tapCount]।
यदि आपको दो नल मिलते हैं, तो आपका उप-वर्ग दृश्य उन समस्याओं को जारी करता है NSNotificationजिन्हें सुनने के लिए आपके नियंत्रक ने पंजीकृत किया है।
जब आपका दृश्य नियंत्रक सूचना सुनता है, तो यह चयनकर्ता को आग लगा देता है कि या तो नेविगेशन बार के वर्तमान दृश्यमान स्थिति के आधार पर, उपरोक्त बार कोड का उपयोग करके नेविगेशन बार को छुपाता है या दिखाता है, नेविगेशन बार की isHiddenसंपत्ति को पढ़कर एक्सेस किया जाता है ।
संपादित करें
नल की घटनाओं से निपटने के लिए मेरे जवाब का हिस्सा संभवतः iOS 3.1 से पहले उपयोगी है। UIGestureRecognizerवर्ग शायद डबल नल, इन दिनों निपटने के लिए एक बेहतर तरीका है।
EDIT 2
नेविगेशन बार को छिपाने का स्विफ्ट तरीका है:
navigationController?.setNavigationBarHidden(true, animated: true)
इसे दिखाने के लिए:
navigationController?.setNavigationBarHidden(false, animated: true)