본문 바로가기
Developer/IOS

Orientation Control , NavigationController , 네비게이션컨트롤러 하의 특정 뷰의 회전 제어

by MindOpener 2013. 8. 26.
반응형


보통은 모든 방향을 회전하시겠지만   

혹은  회전을 안사용하지만 특정뷰만 회전해야 하는경우   

가 있으실 겁니다.   어렵사리 구현을 했는데 

네비게이션컨트롤러의 특성상 다른 뷰로 이동 했을때 망하는 경우가 있습니다.   

아래코드를 앱델리게이트나  상단 네이게이션컨트롤러에 삽입해 주시면 처리 되옵니다. 


아래는 Portrait만 지원하는 환경에서 if문에 들어가는 클래스만  다른 회전방향도 허용해주는 부분입니다.. 


@implementation UINavigationController (Rotation_IOS6)


-(BOOL)shouldAutorotate

{

    return YES;

}



-(NSUInteger)supportedInterfaceOrientations

{  

    if ([NSStringFromClass([[self.viewControllers lastObject]  class]) isEqualToString:@"해당 뷰 클래스 이름   EX) xxViewController"]) {

        return UIInterfaceOrientationMaskAllButUpsideDown;

    }

    return UIInterfaceOrientationMaskPortrait;

}



- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation

// 초기 보여질 뷰의 방향

    return UIInterfaceOrientationPortrait;

}


@end



아무쪼록 저와같이 고통을 당하시는 분들에게 도움이 되었으면 합니다.  
다른 더좋은 방법이 있으시면 알려주시면 감사히 배우겠습니다.


반응형

'Developer > IOS' 카테고리의 다른 글

webView 파라미터 분리  (0) 2013.08.27
UIWebView에서 링크 클릭시 Webview의 페이지 이동  (0) 2013.08.27
문자열 대치 비교시 유용함수  (0) 2013.08.20
webview  (0) 2013.08.20
로딩 시간 조절  (0) 2013.08.20