2014-11-19 8 views
4

세로 모드 만 지원하도록 구성된 응용 프로그램이 있습니다. 하지만 가로 모드에서 내 응용 프로그램에 하나의 화면 (예 : abcViewController)을 표시해야합니다. abcViewController 화면을 누르면 방향이 Portrait 모드에서 Landscape 모드로 변경됩니다. 해당 abcViewController 화면 statusBar에서 모든 이미지, 단추는 가로 모드로 표시되지만 UIAlertView는 PortraitMode에 표시됩니다. 이것은 abcViewController에서보기의 모든 내용이 가로 모드로 변경되지만 UIAlertView는 가로 모드로 회전하지 않고 세로 모드로 유지된다는 것을 의미합니다. UIAlertView가 포함 된보기 컨트롤러의 규칙을 따르고 statusBar와 동일한 방향을 표시하고 싶습니다.화면이 가로 모드 인 경우 UIAlertview가 세로 모드로 표시됩니다.

enter image description here

참고 : 나는 엑스 코드 5.0을 사용하는 아이폰 OS 8.0에 내 응용 프로그램을 실행하는거야 내가 5.0

+0

안녕하세요 ajeet.cody, 이 문제에 대한 해결책이 있습니까? 그렇다면 내 메일 ID : [email protected]에 회신 해주십시오. 긍정적 인 답변을 원합니다. 미리 감사드립니다. – shripad20

+0

@ shripad20 답변을 올렸습니다. 이게 당신을 도울 수 있기를 바랍니다. 의심의 여지가 있으면 알려주세요. 감사합니다 –

답변

3

사실은 엑스 코드를 지원하는 솔루션을 찾고 있어요, 나는에 대한 프로그램이 클래스의 UIView 및 상태 표시 줄을 회전 iOS 7 및 이전 버전의 iOS 버전을 사용했지만 iOS 8에서 방향 문제가 발생했다면 다음과 같은 방향과 관련된 iOS 8의 새로운 변경 사항을 읽었습니다.

두 코드 모두에서 다음 코드를 실행했습니다. iOS 7 및 iOS 8 :

012 아이폰 OS 7의 결과를 비교

Currently landscape: No, width: 320.00, height: 568.00 
Currently landscape: Yes, width: 568.00, height: 320.00 

:

Currently landscape: No, width: 320.00, height: 568.00 
Currently landscape: Yes, width: 320.00, height: 568.00 

그래서, 나는 [UIScreen이 mainScreen] .bounds을 알게 다음

UIInterfaceOrientation orientation = [[UIApplication sharedApplication] statusBarOrientation]; 
BOOL landscape = (orientation == UIInterfaceOrientationLandscapeLeft || orientation == UIInterfaceOrientationLandscapeRight); 
NSLog(@"Currently landscape: %@, width: %.2f, height: %.2f", 
     (landscape ? @"Yes" : @"No"), 
     [[UIScreen mainScreen] bounds].size.width, 
     [[UIScreen mainScreen] bounds].size.height); 

3,516,는 아이폰 OS (8)의 결과이다. 크기는 iOS8에서 방향에 따라 달라집니다.

iOS 8의 새로운 변경 사항을 읽은 후에 iOS 8에 대한 새로운 수업을 만들었으므로이 문제에 대한 두 가지 해결책이 있습니다.

해결책 1 : UIAlertView 대신 UIAlertController을 사용해야합니다.

해결 방법 2 :이 오리엔테이션 문제에 직면 해있는 iOS 8 용 새 클래스를 만들 수 있습니다.

+0

솔루션을 게시 해 주셔서 감사합니다. +1. – Anon

+0

해결책에 대해 감사합니다. 나는보기를 강제로 돌렸지 만, 나중에보기의 회전 구현을 변경하고 내 문제를 해결했습니다. – shripad20

관련 문제