นี่ไม่ใช่สิ่งที่สามารถบรรจุลงในโค้ดไม่กี่บรรทัด แต่นี่เป็นวิธีการหนึ่งที่เหมาะกับคุณ
ในการซ่อนแถบนำทาง:
[[self navigationController] setNavigationBarHidden:YES animated:YES];
ในการแสดง:
[[self navigationController] setNavigationBarHidden:NO animated:YES];
เอกสารสำหรับวิธีนี้สามารถใช้ได้ที่นี่
ในการฟัง "ดับเบิลคลิก" หรือแตะสองครั้งUIViewให้ทำคลาสย่อยและทำอินสแตนซ์ของคลาสย่อยนั้นviewคุณสมบัติของตัวควบคุมมุมมองของคุณ
ในมุมมอง subclass แทนที่ของวิธีการและนับจำนวนสัมผัสคุณได้รับในระยะเวลาของเวลาโดยการวัดเวลาระหว่างสองก๊อกติดต่อกันอาจจะมี-touchesEnded:withEvent: หรือทดสอบผลจากCACurrentMediaTime()[touch tapCount]
หากคุณได้รับสองก๊อกมุมมองคลาสย่อยของคุณจะมีปัญหาNSNotificationซึ่งตัวควบคุมมุมมองของคุณได้ลงทะเบียนเพื่อฟังแล้ว
เมื่อตัวควบคุมมุมมองของคุณได้ยินการแจ้งเตือนมันจะทำการเลือกตัวเลือกที่จะซ่อนหรือแสดงแถบการนำทางโดยใช้รหัสดังกล่าวขึ้นอยู่กับสถานะที่มองเห็นของแถบนำทางปัจจุบันซึ่งเข้าถึงได้ผ่านการอ่านisHiddenคุณสมบัติของแถบนำทาง
แก้ไข
ส่วนหนึ่งของคำตอบของฉันสำหรับการจัดการกิจกรรมการแตะน่าจะมีประโยชน์ก่อน iOS 3.1 UIGestureRecognizerชั้นน่าจะเป็นวิธีการที่ดีในการจัดการดับเบิลก๊อกวันเหล่านี้
แก้ไข 2
วิธีที่รวดเร็วในการซ่อนแถบนำทางคือ:
navigationController?.setNavigationBarHidden(true, animated: true)
ในการแสดง:
navigationController?.setNavigationBarHidden(false, animated: true)