นี่ไม่ใช่สิ่งที่สามารถบรรจุลงในโค้ดไม่กี่บรรทัด แต่นี่เป็นวิธีการหนึ่งที่เหมาะกับคุณ
ในการซ่อนแถบนำทาง:
[[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)