본문 바로가기
프로그래밍 놀이터/iOS

[ios] View Controller 간의 transition control 하기.

by 돼지왕 왕돼지 2012. 11. 5.
반응형




View Controller 간의 transition control 하기.

현재 하는 일을 잠시 멈추고, 다른 view set 을 보여주는 것을 말한다. android에서 activity 를 띄우는 것과 매우 비슷한 개념이다. 보통은 다른 view controller 보여주기 기능은 user 로부터 중요한 정보를 입력받기 위해서 쓰는 경우가 많다. 


어떻게 다른 view controller 를 부여주는가?

- 보여진 view controller 는 특별한 타입의 UIViewController 가 아니다. 어떤 view controller 든 보여질 수 있다. 이 때 controller 간 relationship 을 이루며 보여진다. 현재 보여지는 view controller 는 presentedViewController 라는 property 로, 그리고 새로 보여지는 view controller 는  presentingViewController 라는 property 로 set 된다.




View controller 를 transition style 을 설정해서 보여주기

- 프로그램적으로 view controller 를 보여주려면..

1. view controller 만들기

2. modalTransitionStyle property 설정하기.

3. delegate object 를 view controller 에 지정하기. 보통 이 delegate 는 presenting view controller 이다. 이 delgate 는 presented view controller 에 의해 사용되는데, presenting view controller 에게 presented view controller가 dismiss 될 준비가 되었을 때 notify 를 주기 위해 사용된다.

4. presentViewController:animated:completion: 함수를 통해 새로운 view controller 를 띄워준다.



<예제 코드>

- (void)add:(id)sender {

   // Create the root view controller for the navigation controller

   // The new view controller configures a Cancel and Done button for the

   // navigation bar.

   RecipeAddViewController *addController = [[RecipeAddViewController alloc] init ];


  
// Configure the RecipeAddViewController. In this case, it reports any

   // changes to a custom delegate object.

   addController.delegate = self;


  
// Create the navigation controller and present it.

   UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:addController];

   [self presentViewController:navigationController animated:YES completion: nil];

}





transitions types

UIModalTransitionStyleConverVertical

UIModalTransitionStyleFlipHorizontal

UIModalTransitionStyleCrossDissolve





Standard system view controllers

Address Book UI

 ABNewPersonViewController

 ABPeoplePickerNavigationController

 ABPersonViewController

 ABUnknownPersonViewController




Event Kit UI

 EKEventEditViewController

 EKEventViewController





Game Kit

 GKAchievementViewController

 GKLeaderboardViewController

 GKMatchmakerViewController

 GKPeerPickerController

 GKTurnBasedMatchmarkerViewController




Message UI

 MFMailComposeViewController

 MFMessageComposeViewController





Media Player

 MPMediaPickerController

 MPMoviePlayerViewController




UI Kit

 UIImagePickerController

 UIVideoEditorController


도움이 되셨다면 손가락 꾸욱~ ( 로그인 필요 x )


반응형

댓글