2015-09-20 21 views
5

Dường như với tôi tính năng này không hoạt động nữa trong iOS9. Đó là cách thực tế của việc buộc thay đổi định hướng dựa trên nghiên cứu SO của tôi. Nó bây giờ đóng băng trò chơi SpriteKit của tôi.iOS9: Thay thế cho UIDevice.currentDevice(). SetValue (...) để buộc hướng

Chỉ là tôi, và nếu không ai biết thay thế?

EDIT: Chân dung và UpsideDown vẫn hoạt động. Dường như chỉ có chế độ Landscape nay gây ra đóng băng

EDIT 2: Thật sự tôi nghĩ bạn có thể đi Portrait < -> upsidedown và LandscapeLeft < -> LandscapeRight, nhưng không phải ở giữa chúng

+0

Không chỉ riêng bạn. Định hướng buộc không còn hoạt động cho tôi trên iOS 9 nữa. Tôi sử dụng để buộc hướng đến cảnh quan khi ở chân dung cho một số trường hợp nhất định. – Chris

+0

bạn chỉ cần đặt trong xcode ... – Naitik

+0

iOS9.1, liều KHÔNG hoạt động quá – Jagie

Trả lời

1

Bạn đang đúng . Thiết lập định hướng thiết bị là không thể trên iOS 9. Tôi nghĩ rằng điều này là do chế độ SplitScreen mới trên iPad. Bây giờ có thể có 2 ứng dụng cùng một lúc trên màn hình và nó sẽ là "không công bằng" cho một ứng dụng để quyết định định hướng nào được cho phép. Hãy tưởng tượng hai Ứng dụng buộc các định hướng khác nhau, điều gì sẽ xảy ra? Tôi nghĩ Apple chỉ cấm nói chung mặc dù họ có thể giới hạn các ứng dụng không có màn hình iPad

+0

tại sao nó vẫn hoạt động trong iOS 10 trên iPad? iPad ios 10 vẫn có tính năng tương tự SplitScreen Mode – chipbk10

15

Thêm vào câu trả lời của Alex: Kinh nghiệm của tôi là Apple chỉ chặn thay đổi định hướng cho iPad iOS2 không yêu cầu toàn màn hình. Vì vậy, nếu bạn nói với các ứng dụng đòi hỏi độ toàn màn hình, luân chuyển nên làm việc:

enter image description here

Tuy nhiên, tôi không có đầu mối cho dù đó sẽ giải quyết đóng băng SpriteKit của bạn vì trong kinh nghiệm của tôi iOS9 cũng đã giới thiệu rất nhiều lỗi SpriteKit.

+2

Xấu hổ rằng bạn phải đánh dấu vào hộp kiểm này (vô hiệu hóa slide-over và split screen trong iOS 9) chỉ để có thể ép một khung nhìn vào một hướng cụ thể. Tôi lý tưởng muốn có thể làm cả hai, nhưng buộc định hướng là quan trọng hơn so với slide-over/màn hình bị tràn vào lúc này, trừ khi bạn biết một cách để có cả hai? – AT3D

+0

Anh hùng trong ngày. Cảm ơn! Nó đã cứu tôi một thời gian. –

1

Nếu bạn có hai hoặc nhiều ViewControllers, và bạn muốn mỗi ViewControllers có định hướng khác nhau, tôi nghĩ rằng cách tốt nhất để buộc các định hướng của VC là sử dụng các mã bên dưới:

let value = UIInterfaceOrientation.LandscapeLeft.rawValue 
// let value = UIInterfaceOrientation.Portrait.rawValue 
UIDevice.currentDevice().setValue(value, forKey: "orientation") 

Nó hoạt động cho tôi tại iOS 9.

Các vấn đề liên quan