본문 바로가기

프로그래밍/iOS

[ios]아이폰 3.5인치와 4인치 구분하여 스토리보드 사용하기

아이폰 4, 아이폰5 화면 크기 구분

 

기본 출처는 이곳 :http://thefermata.net/?p=942

과 나의 삽질

 

크기 구분은  AppDelegate.m 파일의

 

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

위 함수에서 아래 내용을 작업하면 된다. 

 

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

{

    CGSize iOSDeviceScreenSize = [[UIScreen mainScreen] bounds].size;

    

    if (iOSDeviceScreenSize.height == 480) //화면세로길이가 480 (3gs,4, 4s)

    {

        // UIStoryboard 생성

        UIStoryboard *iPhone35Storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];

        // 생성한 UIStoryboard에서  initial view controller 가져온다.

        UIViewController *initialViewController = [iPhone35Storyboard instantiateInitialViewController];

        

        // 화면크기로 윈도우 생성

        self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

        

        // window rootViewController 스토리보드의 initial view controller 설정

        self.window.rootViewController  = initialViewController;

        

        // 윈도우 보이기

        [self.window makeKeyAndVisible];

    }

    

    if (iOSDeviceScreenSize.height == 568) //화면세로길이가 568 (아이폰5, 5s, 5c)

    {

        //동일

        UIStoryboard *iPhone4Storyboard = [UIStoryboard storyboardWithName:@"Storyboard" bundle:nil];

        

        UIViewController *initialViewController = [iPhone4Storyboard instantiateInitialViewController];

        self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

        self.window.rootViewController  = initialViewController;

        [self.window makeKeyAndVisible];

    }

    // Override point for customization after application launch.

    return YES;

}

위와 같이 수정한다.

붉은색으로 표시한 곳이 각각 크기에 대한 스토리 보드 이름

main.storyboard main만 적는다

 

이런식으로 바꾸면 viewController에서 두번째 스토리보드가 먹지 않는데

이 경우 스토리 보드 창의 아이폰 창 아래 있는 검은색 바를 클릭한 후

우측 유틸리티 창의 3번째 아이콘을 클릭한 뒤 

클래스를 ViewController로 바꾸어 주면 된다.

 

그 후엔 원하는 객체들을 Assistant 에디터에 띄워져 있는  View Controller에 넣기만 하면 끝

아래는 가이드 사진