문제

나는 사용자 정의 버튼에서 보기 컨트롤러에서 탐색 컨트롤러의 계층 구조,는 누를 때,팝 보이는 뷰 컨트롤러입니다.

을 사용하고 싶 UIView 의 transform 산 애니메이션을 닫기 컨트롤러입니다.그것은 작동하지만,사용하면`popViewControllerAnimated:YES'기본 왼쪽 슬라이드의 애니메이션은 여전히 있지만 내용에 변환한다.

는 경우 설정 popViewControllerAnimated:NO 지 않는 애니메이션도 있다.

또한 보였으로 사용 CATransition 작동하는 경우 나 popViewControllerAnimated 설정 NO, 지만,없습니다"확대"효과의 일부를 공개 API,그리고 내가 사용하고 싶지 않은 개인 효과가 있다.사용자 정의 필터는 사용할 수 없 아이폰,만 OS X.

그래서 저의 질문은:

1)방법이 있을 제거하는 왼쪽에 슬라이드 기본 전환 그러나 아직도 사용자 지정 사용하여 애니메이션 transform?

2)어떤 방법을 사용하는 사용자 정의 필터링 CATransition?

3)내가 사용하는 경우 개인에 대한 API 를 확대 효과 어떻게 가능성이 애플을 던져 내 응용 프로그램에는 거절통?

는 누구든지 해결책을 나는 전?

도움이 되었습니까?

해결책

I've done 과 비슷하게 설명하,즉기본값을 변경에 대한 애니메이션이 팝업 및 푸시의 보기에 uinavigationcontroller 가.

아이디어가 사용하지 않는 기본 애니메이션 개체에 대한 대체과 당신의 자신의 애니메이션이다.나는 새로운 카테고리를 만들어에 대한 uinavigationcontroller 가 사용하는 함수와 유사한다.

 - (void) altAnimatePopViewControllerAnimated:(BOOL)animated
 {
[CATransaction begin];

CATransition *transition;
transition = [CATransition animation];
transition.type = kCATransitionPush;          // Use any animation type and subtype you like
transition.subtype = kCATransitionFromTop;
transition.duration = 0.3;

CATransition *fadeTrans = [CATransition animation];
fadeTrans.type = kCATransitionFade;
fadeTrans.duration = 0.3;


[CATransaction setValue:(id)kCFBooleanTrue
                 forKey:kCATransactionDisableActions];

[[[[self.view subviews] objectAtIndex:0] layer] addAnimation:transition forKey:nil];
[[[[self.view subviews] objectAtIndex:1] layer] addAnimation:fadeTrans forKey:nil];



[self  popViewControllerAnimated:YES];
[CATransaction commit];
   }

그냥 사용하는 코드를 사용

   [self.navigationController altAnimatePopViewControllerAnimated:YES];

하기 위해서 마냥을 만들의 또 다른 비슷한 기능과 역방향의 애니메이션이다.

그것은 완전하지 않지만 작동합니다.를 선택하면 다른 애니메이션 형식으로 놀러 다른 하위를 구성 네비게이션 바/컨트롤러 그것을 얻을 완벽하다.

져 꽤 흰색이므로,현명하게 사용:)

*******편집

를 교체하고 밀로의 전환이(지 않았다 그것을 자신을 시도하는):

  CAKeyframeAnimation *scale = [CAKeyframeAnimation animationWithKeyPath:@"transform.scale"];
  scale.duration = duration;
  scale.values = [NSArray arrayWithObjects:[NSNumber numberWithFloat:.5f],
              [NSNumber numberWithFloat:1.2f],
              [NSNumber numberWithFloat:.85f],
              [NSNumber numberWithFloat:1.f],
              nil];

이것을 할 것입니다 pop 서,즉보기 더 큰 것입하기 전에 정착입니다.재생의 값을 배열을 제어하는 곡선의 애니메이션이다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top