Mở ứng dụng iPhone của tôi, tôi có nó giới hạn trong bức chân dung duy nhất dưới các mục tiêu dự án thông tin triển khaisupportedInterfaceOrientations kêu gọi tất cả iPhone trừ 6 +
Có một trang mà tôi muốn chỉ trong cảnh quan và tôi sử dụng các phương pháp để có được supportedInterfaceOrientations cái đó.
thực hiện Tiêu chuẩn:
override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask {
return UIInterfaceOrientationMask.Landscape
}
Nó hoạt động hoàn hảo trên tất cả các thiết bị iPhone và phiên bản iOS trừ iPhone 6+. Phương thức supportedInterfaceOrientations không bao giờ được gọi.
Tôi không thể tìm thấy bất kỳ lý do nào khiến điều này có thể chỉ ảnh hưởng đến iPhone 6+, mọi mẹo sẽ được đánh giá rất nhiều.
Tôi vừa tạo một ứng dụng xem đơn trống và xác minh rằng 'supportedInterfaceOrientations()' được gọi cho cả 6 và 6 Plus. Không thể ngay lập tức thấy mã của bạn sẽ khác như thế nào trừ khi bộ điều khiển xem là bộ điều khiển chế độ xem con cái khác như vc điều hướng, chia vc, thanh tab vc, v.v. Trong trường hợp đó, bộ điều khiển chế độ xem chính cũng phản hồi như bạn muốn. Chỉ có điều khác với 6 Plus ngoài đỉnh đầu của tôi là nó có khả năng sử dụng một cái nhìn phân chia trong cảnh quan. Có lẽ cái gì đó? –
Lý do rất có thể là lớp kích thước cho iPhone 6+ sẽ có chiều rộng thông thường nhưng chiều rộng nhỏ gọn cho tất cả các điện thoại khác khi được trình bày trong landscaoe. Những loại điều khiển là nó: một bộ điều khiển xem bình thường hoặc một container. Nếu nó được trình bày một cách bình thường, tôi tin rằng bạn cần sử dụng 'preferredInterfaceOrientationForPresentation' –
Theo tài liệu,' supportedInterfaceOrientations' sẽ chỉ được gọi trên bộ điều khiển xem gốc, hoặc trên bộ điều khiển được trình bày để chiếm toàn bộ màn hình. Vì vậy, rất có thể là bộ điều khiển bạn đang thực hiện điều này trong iPhone 6+ không đáp ứng các tiêu chí. Loại bộ điều khiển nào?Có vẻ như bạn thường nên thực hiện 'supportedInterfaceOrientations' trong các bộ điều khiển vùng chứa chính như UINavigationController, UITabBarController và UISplitViewController. –