ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [iPhone 프로그래밍] UINavigationController 알아보기 !
    0x05 Programming/iPhone Programing 2010. 12. 17. 16:28
    UINavigationController를 사용할때 쓸만한 내용을 발견하여 정리해 봅니다.

    1. 초기화
    UINavigationController의 초기화를 위해서는 보통 가장 루트가 되는 뷰컨트롤러를 지정하게 됩니다.

    UIViewController *viewController = [[UIViewController alloc] init];
    UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:viewController];


    2. 새로운 뷰로 이동하기/빠져 나오기
    새로운뷰로 이동하는것은 다음과 이해하시면 좋을것 같습니다. 네비게이션컨트롤러는 기본적으로 스택(Stack)과 같은 구조로 동작을 하며, 눈에 보이는 뷰는 항상 가장 마지막에 삽입된 객체(뷰)가 됩니다.

    그래서인지, 뷰를 삽입하고 빼는 메서드들의 이름이 push/pop으로 시작을 하는군요.

    // 새로운 뷰 삽입하기
    [navController pushViewController:newViewController animated:YES];
     
    // 뷰컨트롤러 안에서 - 자기 자신을 네비게이션 컨트롤러에서 제거
    [self.navigationController popViewControllerAnimated:YES];
     
    // 어디서든지 네비게이션 컨트롤러에 접근 가능할 때
    [navController popViewControllerAnimated:YES];


    3. 최상위 뷰로 한번에 이동하기
    여러개의 뷰를 통해서 들어가 있는 상태라면 다음과 같은 방법으로 한번에 최상위로 빠져나갈 수 있습니다.

    [self.navigationController popToRootViewControllerAnimated:YES];


    4. 모달(Modal)뷰 형식으로 띄우기
    네비게이션 컨트롤러를 사용하긴 하지만 페이징의 느낌이 들지 않게 별개의 페이지처럼 띄우고 싶을 경우가 있습니다. 다음의 메서드를 사용하여 상단의 네비게이션바조차 나오지 않는 풀스크린의 뷰를 띄울 수 있습니다.

    // 모달 뷰 띄우기
    [self.navigationController presentModalViewController:modelViewController animated:YES];
     
    // 모달 뷰 제거 - 모달 뷰 컨트롤러 내부에서
    [self dismissModalViewControllerAnimated:YES];

    출처: http://theeye.pe.kr/entry/how-to-using-UINavigationController-on-iphone-sdk
Designed by Tistory.