iOS 개발 보기 전환

보기 전환
  • UITabBarController(페이지 컨트롤 러)-평행 관리 보기
  • UINavigationController(네 비게 이 션 컨트롤 러)-스 택 관리 보기
  • 모드 창
  • 2.UITabBarController 페이지 컨트롤 러
  • UITab BarController 는 페이지 서명 을 이용 하여 보기 전환 을 위 한 컨트롤 러
  • 이 컨트롤 러 는 UITabBar 컨트롤 러 가 있 습 니 다.사용 자 는 UITabBar 를 클릭 하여 보기 전환 을 합 니 다
  • UITab BarController 자체 에 보 기 를 표시 하지 않 습 니 다.용기 컨트롤 러
  • 일 뿐 입 니 다.
  • 보기 간 의 결합 을 줄 이기 위해 모든 UITabBarController 의 하위 보기 관련 제목,아이콘 등 정 보 는 하위 보기 가 스스로 제어 합 니 다

  • 주의사항:
  • UITabBarController 는 모든 하위 컨트롤 러 를 한꺼번에 초기 화 하지만 기본 값 은 첫 번 째 컨트롤 러 보기 만 불 러 옵 니 다
  • 보기 컨트롤 러 마다 tabBarController 속성 이 있 습 니 다.이 속성 으로 있 는 UITabBarController
  • 에 접근 합 니 다.
  • 보기 컨트롤 러 마다 tabBarItem 속성 이 있 습 니 다.이 를 통 해 UITabBarController 의 UITabBar 에 표 시 된 정 보 를 제어 합 니 다
  • tarBarItem 의 image 속성 은 png 형식 이 어야 하 며,알파 채널 을 열 어야 합 니 다.그렇지 않 으 면 제대로 표시 되 지 않 습 니 다
  • UITab BarController 는 보통 전체 프로그램의 rootViewController 입 니 다.프로그램의 window 가 표시 되 기 전에 만들어 야 합 니 다.
  • 구체 적 인 절 차 는 다음 과 같다.
  • UITabBarController 대상 만 들 기
  • UITabBarController 의 모든 tab 에 대응 하 는 표시 할 대상 viewController 만 들 기
  • UITabBarController 의 viewControllers 속성 을 통 해 표시 할 모든 viewController 를 UITabBarController 에 추가 합 니 다
  • UITabBarController 대상 을 window.rootViewController 로 설정 한 다음 window
  • 를 표시 합 니 다.

    //a. tabBar
    UITabBarController *tarbarVC = [[UITabBarController alloc] init];
    // Window
    self.window.rootViewController = tarbarVC;
    //b.
    UIViewController *c1 = [[UIViewController alloc] init];
    c1.view.backgroundColor = [UIColor grayColor];
    c1.view.backgroundColor=[UIColor greenColor];
    c1.tabBarItem.title = @" ";
    c1.tabBarItem.image = [UIImage imageNamed:@"tab_recent_nor"];
    c1.tabBarItem.badgeValue = @"123";
    UIViewController *c2 = [[UIViewController alloc] init];
    c2.view.backgroundColor = [UIColor brownColor];
    c2.tabBarItem.title = @" ";
    c2.tabBarItem.image = [UIImage imageNamed:@"tab_buddy_nor"];
    UIViewController *c3 = [[UIViewController alloc] init];
    c3.tabBarItem.title = @" ";
    c3.tabBarItem.image = [UIImage imageNamed:@"tab_qworld_nor"];
    UIViewController *c4 = [[UIViewController alloc] init];
    c4.tabBarItem.title = @" ";
    c4.tabBarItem.image = [UIImage imageNamed:@"tab_me_nor"];
    //c. ITabBarController
    tarbarVC.viewControllers = @[c1,c2,c3,c4];
    //d. Window
    [self.window makeKeyAndVisible];
    UITabBarController Delegate 에이전트

    #pragma mark TabBarItem
    - (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController;
    UITabBarController 현재 보기 표시 방법 변경
  • selected Index 속성 변경
  • selected ViewController 속성 변경
  • viewControllers 속성 변경
  • 3.UINavigationController 네 비게 이 션 컨트롤 러
  • UINavigationController 의 하위 컨트롤 러 는 스 택 형식 으로 저장 되 며 스 택 상단 에 있 는 컨트롤 러 만 인터페이스 에 표시 할 수 있 습 니 다
  • 스 택 pushController,스 택 popController
  • UINavigationController 는 루트 컨트롤 러 rootViewController
  • 가 있어 야 합 니 다.
  • 하위 컨트롤 러 가 navigationController 속성 을 통 해 UINavigationController 에 접근
  • 스 택 에 있 는 하위 컨트롤 러 는 모두 네 비게 이 션 표시 줄 navigation Bar 가 있 고 navigation Item 을 통 해 제어 합 니 다

  • UINavigation Item 은 MVC 의 Model 에 속 합 니 다.UINavigation Bar 에 표시 할 데 이 터 를 봉 인 했 습 니 다.
    제목
    제목 보기
    leftBarButton 항목:왼쪽 단추
    rightBarButton 항목:오른쪽 단추
    다음 보기 왼쪽 되 돌아 가기 단추 left BarButton Item 의 제목 우선 순위:
  • 내 비게 이 션 표시 줄 되 돌리 기 버튼 backBarButton Item 제목
  • 내 비게 이 션 표시 줄 navigation Item 의 제목
  • 보기 컨트롤 러 의 제목
  • UINavigationController 에서 자주 사용 하 는 주요 방법:

    #pragma mark ,
    - (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated;
    #pragma mark ,
    - (void)popViewControllerAnimated:(BOOL)animated;
    #pragma mark
    - (void)popToViewController:(UIViewController *)viewController animated:(BOOL)animated;
    #pragma mark
    - (void)popToRootViewControllerAnimated:(BOOL)animated;
    4.모드 창

    #pragma mark , , ,
    - (void)presentViewController:(UIViewController *)viewControllerToPresent animated:(BOOL)flag completion:(void (^)(void))completion;
    #pragma mark ,
    - (void)dismissViewControllerAnimated:(BOOL)flag completion:(void (^)(void))completion;

    좋은 웹페이지 즐겨찾기