Hey Thành viên Stackoverflow, có thể bạn có thể giúp tôi khắc phục sự cố của mình.Không thể được hỗ trợInterfaceOrientationsForWindow để làm việc với Swift 1.2
Vấn đề là tôi muốn khóa hướng cho tất cả UIViewControllers thành "Chân dung" nhưng nếu MoviePlayer xuất hiện nó sẽ chuyển sang chế độ ngang và quay lại nếu trình phát phim biến mất.
Cho đến Swift 1.2 tôi đã sử dụng:
func application(application: UIApplication, supportedInterfaceOrientationsForWindow window: UIWindow) -> UIInterfaceOrientationMask {
//If the video is being presented, let the user change orientation, otherwise don't.
if let presentedViewController = window.rootViewController?.presentedViewController? {
if (presentedViewController.isKindOfClass(MPMoviePlayerViewController) && !presentedViewController.isBeingDismissed()) {
return .AllButUpsideDown
}
}
return .Portrait
}
Với Swift 1.2 một số điều thay đổi và vì vậy tôi đã kết thúc với đoạn mã sau:
func application(application: UIApplication, supportedInterfaceOrientationsForWindow window: UIWindow?) -> Int {
//If the video is being presented, let the user change orientation, otherwise don't.
if let presentedViewController = window?.rootViewController?.presentedViewController {
if (presentedViewController.isKindOfClass(MPMoviePlayerViewController) && !presentedViewController.isBeingDismissed()) {
return Int(UIInterfaceOrientationMask.AllButUpsideDown.rawValue)
}
}
return Int(UIInterfaceOrientationMask.Portrait.rawValue)
}
Nhưng mã của tôi không hoạt động, Movie Trình phát (XCDYoutube) bị khóa ở chế độ dọc. Hướng thiết bị nên được thiết lập tốt!
Cảm ơn trước sự giúp đỡ của bạn!
Tôi có hai đề xuất nhanh: 1. Đảm bảo tệp Info.plist cho dự án của bạn không chứa khóa cho định hướng giao diện được hỗ trợ loại trừ chế độ ngang. 2. Đặt điểm ngắt tại dòng lệnh 'if' đầu tiên trong hàm supportedInterfaceOrientationsForWindow của bạn và sau đó chỉ cần thực hiện một bước thông qua mã để xem điều gì đang xảy ra. – dean
hơn nữa để ý kiến của deanware - bạn có chắc chắn của nó nhấn breakpoint? Bạn đang trả về một/không UIInterfaceOrientationMask. Bạn đã thử nâng cấp lên tùy chọn menu 1.2 nhanh chưa? – johndpope
Tôi vừa thử một dự án mới với mã Swift 1.2 của bạn và nó hoạt động tốt. Ứng dụng chỉ quay khi MoviePlayer được trình bày. Bạn có thể có một vấn đề khác. Có lẽ XCDYoutube không chơi tốt với iOS 8 và không quay được nữa? Cố gắng quay lại Tất cả các định hướng mọi lúc để xem trình phát phim có quay hay không. – pteofil