2009-08-04 4 views
2

iPhone에서보기를 뒤집는 데 문제가 있습니다.iPhone에서 플립 천이

appDelegate에서 두 가지보기가 있습니다. 일단 사용자가 버튼을 클릭하면 그들을 뒤집기를 원합니다.

나는 다음과 같은 코드가 있습니다

CATransition *transition = [CATransition animation]; 

transition.duration = 0.75; 
[transition @"twist"]; 
[transition setSubtype:@"fromRight"]; 

transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]; 
[transition setFillMode:@"extended"]; 

[[window layer] addAnimation:transition forKey:nil]; 


[window addSubview:self.s.view]; 
[CATransaction commit]; 

을하지만이 작동하지 않습니다. 누구든지 창 측면에서보기를 뒤집는 더 좋은 방법을 알고 있습니다.

내가하고있는 일은 각각의 viewController에서 appDelegate 메소드를 호출하여 뷰를 뒤집는 것입니다.

+0

[전환 @ "꼬임"]; - 그게 실수 야? 그게 뭐예요? – mk12

답변

4

The Elements 샘플 코드를 참조하십시오. 특히 AtomicElementViewController-flipCurrentView.

+0

콘텐츠보기 대신 다음과 같이 창을 추가해야합니다. [UIView setAnimationTransition : UIViewAnimationTransitionFlipFromRight forView : 창 캐시 : 예]; 콘텐츠보기를 사용하지 않고 창 쪽에서 사용하고 싶지 않은 경우 – rkb

+0

왜 내가 창문으로 그걸 할 수 있을지 궁금한가요? 이것은 매우 특이한 접근법입니다. 일반적으로 윈도우의 contentView를 사용하고 윈도우를 그대로 두십시오. –

17

3.0 SDK를 사용하고 있고 간단한 플립 트랜지션 (날씨 앱)을 원하는 경우 CATransition까지 내려갈 필요가 없습니다. 더 높은 수준의 UIView 애니메이션 전환은 원하는대로 할 수 있지만 3.0을 사용하면 새로운보기를 모달보기 컨트롤러로 표시하고 모달 전환 스타일을 넘기기 만하면됩니다. dismissModalViewController를 사용하여 다시

UIViewController *controllerForSecondView = ..; 
controllerForSecondView.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal; 
[self presentModalViewController:controllerForSecondView animated:YES]; 

플립 : 제 컨트롤러 내에서. -

Documentation Reference

+0

위대한 팁 주셔서 감사합니다! NB : 누구나 읽을 수 있습니다. Jared의 답변에 따르면 설정은 'self'가 아닌 'controllerForSecondView'에 설정되어야합니다. –

+0

Jared가 처음으로 대답을 게시했을 때 나는이 나이를 편집 했어야했다. 나는 이것을 바로 잡았다. –

6

이 @Luke 덕분에,이 샘플 ... 1 보정 불구하고 헤더 파일 코멘트에서

UIViewController *controllerForSecondView = ..; 
controllerForSecondView.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal; 
[self presentModalViewController:controllerForSecondView animated:YES]; 

(UIViewController.h 기준) 저를 도와 :

// 이 뷰 컨트롤러를 모달로 표시 할 때이 뷰 컨트롤러에 사용할 전환 스타일을 정의합니다. 발표자가 아닌보기 컨트롤러에서이 속성 을 표시하도록 설정하십시오. // 기본값은 UIModalTransitionStyleSlideVertical입니다. @property (nonatomic, assign) UIModalTransitionStyle modalTransitionStyle

+0

잘 찾아 냈습니다! 나는 그것을 놓쳐 버렸음에 틀림 없다, 그러나 당신이 실제로 작성한 코드를 실행하지 않을 때 얻는 것이있다.) –