กด UIViewController ด้วยการวางแนวที่แตกต่างจากก่อนหน้า

อาจเป็นคำถามง่ายๆ แต่:

แอพของฉันเริ่มต้น (และส่วนใหญ่) ในโหมดแนวตั้ง แต่ฉันมี ViewController ซึ่งฉันต้องกดลงบนสแต็กซึ่งจำเป็นต้องเปิดในโหมดแนวนอน

ฉันค้นหาไปรอบๆ แล้วพบว่าคุณไม่สามารถใช้ API ส่วนตัวได้: [[UIDevice currentDevice] setOrientation:UIInterfaceOrientationLandscapeLeft];

ฉันยังพบวิธีที่ "แนะนำ" มากมายในการแก้ปัญหา (รวมถึงการนำเสนอแบบโมดอลแทนการพุชและการพุช ViewController สองอินสแตนซ์) การเปลี่ยนไปใช้การหมุนแนวนอนภายใน uinavigationcontroller

อย่างไรก็ตาม ฉันแน่ใจว่าต้องมีวิธีที่ง่ายกว่านี้ในการแก้ไขปัญหานี้ หากใครทราบวิธี PUSH ลงบนสแต็ก (เพื่อรักษาการนำทางผ่านแผนผัง) ในลักษณะที่ ViewController ปรากฏเป็นแนวนอน โปรดแจ้งให้เราทราบ

ขอบคุณสำหรับความช่วยเหลือของคุณทุกคน

ดังค์


comment
เหตุใดคุณจึงแน่ใจว่าต้องมีวิธีที่ง่ายกว่านี้ คำตอบของ Cannyboy สำหรับคำถามนั้นดูค่อนข้างง่ายสำหรับฉัน   -  person Rog    schedule 14.07.2011
comment
ขอบคุณโรเจอร์ คุณพูดถูก Cannyboy's ใช้งานได้ (ฉันลองใช้ก่อนที่จะเขียนโพสต์นี้) และฉันอาจจะใช้มันในที่สุด แต่หมายความว่าแถบสถานะถูกซ่อนจากวิวคอนโทรลเลอร์นั้น ข้อเสนอแนะใดที่ฉันจะเก็บไว้?   -  person theDuncs    schedule 14.07.2011


คำตอบ (1)


มันไม่สมเหตุสมผลเลยที่จะใช้การเปลี่ยนแบบกด UINavigationController เพื่อนำเสนอมุมมองในการวางแนวที่ต่างออกไป แถบนำทาง / แถบเครื่องมือจะกลมไปทางใด

การนำเสนอตัวควบคุมมุมมองโมดอลเป็นวิธีที่ถูกต้องในการดำเนินการนี้ หากสิ่งนี้ทำให้แถบสถานะถูกซ่อน ตรวจสอบให้แน่ใจว่า yourModalViewController.wantsFullScreenLayout เป็น NO

person hatfinch    schedule 14.07.2011