ในการตั้งค่าการวางแนวนอนเป็นมุมมองทั้งหมดของแอปของคุณและอนุญาตให้ใช้มุมมองเดียวเท่านั้นสำหรับการวางแนวทั้งหมด (เพื่อให้สามารถเพิ่มม้วนฟิล์มได้เป็นต้น):
ใน AppDelegate.swift:
var adaptOrientation = false
ใน: didFinishLaunchingWithOptions
NSNotificationCenter.defaultCenter().addObserver(self, selector: "adaptOrientationAction:", name:"adaptOrientationAction", object: nil)
ที่อื่นใน AppDelegate.swift:
func application(application: UIApplication, supportedInterfaceOrientationsForWindow window: UIWindow?) -> Int {
return checkOrientation(self.window?.rootViewController)
}
func checkOrientation(viewController:UIViewController?)-> Int{
if (adaptOrientation == false){
return Int(UIInterfaceOrientationMask.Landscape.rawValue)
}else {
return Int(UIInterfaceOrientationMask.All.rawValue)
}
}
func adaptOrientationAction(notification: NSNotification){
if adaptOrientation == false {
adaptOrientation = true
}else {
adaptOrientation = false
}
}
จากนั้นในมุมมองที่ทำตามที่คุณต้องการให้มีการวางแนวทั้งหมด:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) {
if (segue.identifier == "YOURSEGUE") {
NSNotificationCenter.defaultCenter().postNotificationName("adaptOrientationAction", object: nil)
}
}
override func viewWillAppear(animated: Bool) {
if adaptOrientation == true {
NSNotificationCenter.defaultCenter().postNotificationName("adaptOrientationAction", object: nil)
}
}
สิ่งสุดท้ายคือการเลือกการวางแนวอุปกรณ์: - แนวตั้ง - แนวนอนซ้าย - แนวนอนขวา