nav 컨트롤러와 독립적으로 작동하는 훨씬 좋은 방법을 발견했습니다. 지금은 nav 컨트롤러에 임베디드되어있을 때, 그리고 임베디드되지 않은 경우에도 작동합니다 (nav 컨트롤러를 사용하지는 않지만 볼 수없는 버그가있을 수 있습니다. 예를 들어 PUSH 전환 애니메이션이 나타날 수 있습니다. 재미 있거나 뭔가)
Apple의 명명 규칙을 사용하는 두 개의 NIB. 필자는 iOS 6 또는 7에서 Apple이이를 "기능"으로 추가 할 것으로 생각합니다. 나는 애플 리케이션에서 그것을 사용하고 완벽하게 작동합니다 :
트리거는 WILL 회전을합니다. Apple이 가로 방향 버전을 자동으로로드하게하려면 png가 Default-landscape.png입니다. 은 새 NIB 을 다시로드하여 self.view를 다시로드합니다. 그러면 디스플레이가 자동으로 업데이트되고 이 표시되고 viewDidLoad가 호출됩니다.
(NB stackoverflow.com은이 문장이 필요합니다. 코드 포맷터에 버그가 있습니다.)
-(void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
if(UIInterfaceOrientationIsLandscape(toInterfaceOrientation))
{
[[NSBundle mainBundle] loadNibNamed:[NSString stringWithFormat:@"%@-landscape", NSStringFromClass([self class])] owner:self options:nil];
[self viewDidLoad];
}
else
{
[[NSBundle mainBundle] loadNibNamed:[NSString stringWithFormat:@"%@", NSStringFromClass([self class])] owner:self options:nil];
[self viewDidLoad];
}
}