2014-10-23 2 views
1

MainMenuViewController에서 앞뒤로 이동할 수있는 LoginViewController가 있습니다. 서브 뷰의 위치와 크기를 프로그래밍 방식으로 조정합니다. willAnimateRotationToInterfaceOrientationviewDidAppear 전에 인터페이스의 방향을 확인하는 방법

위대한 작품입니다. 내가 겪고있는 문제는 ViewController가로드 될 때 오리엔테이션을 확인할 필요가 있다는 것입니다.로드 된 상태에서 가로 방향 인 경우 willAnimateRotationToInterfaceOrientation과 같은 변경이 이루어집니다.

문제는, I는가 viewDidAppear 방법에 self.interfaceOrientation을 얻을 수있는 가장 빠른 시점을하며, 이는로 천이하기 전에 순식간 원래 크기/위치 파단을보고 사용자가 일으키는 프리 맞는 크기/위치. 내가 viewDidLoad 및 viewWillAppear 시도하고 이들 중 어느 것도 (내가 뭘 믿는다), self.interfaceOrientation 아직이 순간 NULL입니다. 이 문제를 해결하고 사용자가 페이지 (viewDidAppear)를보기 전에 변경 사항을 적용하려면 어떻게해야합니까?

도움을 주시면 감사하겠습니다. 고맙습니다!

+0

'viewWillApear' 메소드는 어떤가요? –

+0

나를 위해 작동하지 않습니다 –

답변

1

이 방법을 찾고있는 것 같다 ". 뷰의 크기를 조정할 및 부모에 의해 위치 된 후 viewWillLayoutSubviews 방법은라고도"

- (void)viewWillLayoutSubviews 
{ 

} 

https://developer.apple.com/library/ios/documentation/uikit/reference/UIViewController_Class/index.html

+0

viewWillAppear 작동하지 않습니다 –

+0

정확히 작동하지 않는 무엇입니까? –

+0

self.interfaceOrientation을 검사하는 메소드를 호출 할 때 반환되는 내용에 따라 label, imageviews, textfields 등을 변경합니다. viewWillAppear의 경우 self.interfaceOrientation이 NULL입니다. –

관련 문제