화면 회전 정리

iOS 초보 2015. 8. 7. 16:28

오랜만에 ios 했더니, 화면회전 때문에 꽤 고생했다.


//------------------------------------------------------------------------------
// plist 파일 설정
//------------------------------------------------------------------------------
Supported interface orientations
Supported interface orientations (iPad)
값을 적절히 설정한다.

//------------------------------------------------------------------------------
// AppDelegate 설정
//------------------------------------------------------------------------------
[UIApplication sharedApplication].statusBarOrientation = UIInterfaceOrientationPortrait; // 초기orientation 설정
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
위 2개의 문장 순서 중요

//------------------------------------------------------------------------------
// 만약 UITabBarController를 사용한다면, AppDelegate에 아래의 카테고리 추가함
//------------------------------------------------------------------------------

@implementation UITabBarController (Rotation_IOS6)
-(BOOL)shouldAutorotate
{
  return [self.selectedViewController shouldAutorotate];
}

-(NSUInteger)supportedInterfaceOrientations
{
  return [self.selectedViewController supportedInterfaceOrientations];
}

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
  return [self.selectedViewController preferredInterfaceOrientationForPresentation];
}
@end



//------------------------------------------------------------------------------
// 만약 UINavigationController를 사용한다면, AppDelegate에 아래의 카테고리 추가함
//------------------------------------------------------------------------------
@implementation UINavigationController (Rotation_IOS6)

-(BOOL)shouldAutorotate
{
  return [[self.viewControllers lastObject] shouldAutorotate];
}

-(NSUInteger)supportedInterfaceOrientations
{
  return [[self.viewControllers lastObject] supportedInterfaceOrientations];
}

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
  return [[self.viewControllers lastObject] preferredInterfaceOrientationForPresentation];
}
@end


//------------------------------------------------------------------------------
// 각 ViewController 마다 아래의 메소드를 알맞게 구현한다.
//------------------------------------------------------------------------------
- (BOOL)shouldAutorotate
{
  return YES;
}

- (NSUInteger)supportedInterfaceOrientations
{
  // 세로만 허용
  return UIInterfaceOrientationMaskPortrait;

  // 세로+가로 허용
  return UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskLandscape;
}



반응형

'iOS 초보' 카테고리의 다른 글

iOS, autolayout, scrollview  (0) 2015.08.18
iOS. 구글맵  (0) 2015.08.11
CoreText  (0) 2015.06.17
CoreBluetooth 기본  (0) 2015.05.21
2.23리젝 대응  (0) 2015.05.12
Posted by 돌비
,