Lỗi này không có ý nghĩa, như định hướng ưu tiên UIInterfaceOrientationLandscapeRight
được trả về bởi phương hướng hỗ trợpreferredInterfaceOrientationForPresentation phải trả về một định hướng giao diện hỗ trợ
//iOS6
-(BOOL)shouldAutorotate
{
return NO;
}
-(NSUInteger)supportedInterfaceOrientations
{
return (UIInterfaceOrientationLandscapeRight | UIInterfaceOrientationLandscapeLeft);
}
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
return UIInterfaceOrientationLandscapeRight;
}
Lỗi:
Chấm dứt ứng dụng do ngoại lệ còn tự do 'UIApplicationInvalidInterfaceOrientation', lý do: 'preferredInterfaceOrientationForPresentation phải trả lại định hướng giao diện được hỗ trợ!'
Tôi đang tìm điều này khiến tôi đau buồn! Tôi có một mã điều khiển xem chia sẻ ứng dụng toàn cầu và sử dụng kiểm tra mã ở trên cho thành ngữ người dùng. ipad cần phải được chỉ cảnh quan và chân dung iphone cho tất cả các thanh mà cần phải được phong cảnh. Tôi không thể có được điều này để cung cấp các định hướng chính xác tại – user7865437
Lưu ý rằng đó là phần "Mặt nạ" của "UIInterfaceOrientationMaskLandscape" là phần quan trọng của câu trả lời này. Các poster ban đầu sử dụng enum sai trong phương pháp của mình. Nó có vẻ hơi ngớ ngẩn khi Apple tạo ra một tập hợp enum/options cho phương pháp này dẫn đến những người làm lỗi này dễ dàng - ngoài ra Xcode thậm chí không cung cấp bất kỳ thời gian kiểm tra trình biên dịch nào vì phương thức trả về NSUInteger. –
@lms, Toàn bộ ứng dụng của tôi chỉ hỗ trợ cho chế độ Chân dung ngoại trừ một Chế độ xem (cần hỗ trợ cho Chế độ ngang). Trong Plist tôi đã thiết lập định hướng chỉ cho Portrait và tôi đã viết ở trên mã ở nơi tôi muốn thay đổi định hướng cho Landscape. Nhưng nó cho UIInterfaceOrientationLandscapeRight Hoặc UIInterfaceOrientationLandscapeLeft.But tôi muốn cả hai trong quan điểm của tôi. U có thể điện thoại cho tôi làm thế nào tôi có thể nhận được nó. –