2012-11-01 2 views
1

그래서 나는 경 사진/토스트 경고와 같은 기능을하는 동적 경고보기를 작성하고 있기 때문에 iOS 앱에 커스텀 윈도우를 만들고 보여줍니다. 그것은 ios6에서 훌륭하게 작동합니다. (잘하면이 아기를 열어서 모두 들여다 볼 수 있습니다.)iOS5 커스텀 윈도우 회전 문제

어쨌든, ios5에서 실행하면 어쨌든 내 경고가있는 창이 회전하지 않는 것 같습니다. 장치/시뮬레이터. 무엇을해도 내 사용자 지정 창은 세로 모드로 유지됩니다.

UIWindow는 UIView 하위 클래스이므로 좋은 'shouldRotate'대리자 메서드가 없습니다.

내가 좀이 iOS5를에서 일어나는 이유에 대해 난처한 상황에 빠진거야하지만 그것은 일반적으로 하나 개의 iOS 앱에서 UIWindow의이 개 사용하는 여러 인스턴스를하지 않는 것이 좋습니다

답변

0

하지 6. 어떤 도움도 대단히 감사하겠습니다^_ ^. 이렇게하는 유일한 이유는 외부 화면을 지원하기 위해서입니다. 대신 UIView을 사용해야하며 이상적으로는 UIViewController으로 관리해야합니다.

윈도우가 '회전'하지 않는 이유는 (코드를 입력하지 않았으므로 가정 할 수 있기 때문입니다.) 단순히 기기 회전에 대한 알림이 표시되지 않는다고 가정합니다. keyWindow 만 기본적으로받습니다.

대신 올바르게 관리 된 UIView을 사용하도록 앱을 다시 디자인하는 것이 좋습니다. 어떤 이유로 든 원하지 않는다면 UIWindow 인스턴스를 등록하여 UIDeviceOrientationDidChangeNotification을받은 다음 처리기에서 새 방향이 무엇인지 평가하고 이에 따라 창 프레임을 변경해야합니다. 오리엔테이션 변경에 대한 응답으로 수행해야 함)

+0

그래서 우리는 우리 자신의 맞춤 알림 및 자그마한 메시지를 쓰고 있기 때문에 창을 사용하는 이유가 있습니다. 우리는 그것을 키보드와 모든 것을 뛰어 넘기 위해 필요합니다. UIWindow는 이것을위한 완벽한 도구입니다. (.windowLevel = UIWindowLevelAlert : D) 그래, 그렇다고 추천하지 않지만 우리가하려는 일을 성취하기 위해 나는 해야 해. 내 경보는 멋지다.보기 나 새로운 사용자 정의 창에 표시 할 수있다 .-D 그리고 모든 것이 ios6에서 훌륭하게 작동한다. 왜 ios5가 깨지는지 모르겠다. 사용자 정의 윈도우에서 회전 이벤트를 등록하는 방법을 살펴 보겠습니다. –

1

내 창에는 완전히 잊어 버린 rootviewcontroller가 있습니다. 방금 구현해야합니다.

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation{ 
    return YES; 
} 

: - D