2014-05-19 4 views
2

내 iPhone 응용 프로그램에서 사용자 지정 컨테이너 컨트롤러를 만들려고합니다. 이 컨테이너는 iOS 7의 TabBarControllers 및 NavigationControllers의 기본 동작처럼 사용자 지정 전환을 구현하고 싶습니다. 전환에 맞춤 애니메이션을 추가 할 수 있었지만 대화 형 논리를 추가하는 데 문제가 있습니다.사용자 지정 컨테이너 컨트롤러를 사용하여 사용자 지정 전환 구현

전환 과정의 일부로 TransitionContext를 만들어야합니다. 이것은 일반적으로 시스템에 의해 만들어 지지만 사용자 정의 컨테이너 컨트롤러를 사용하기 때문에 UIViewControllerContextTransitioningProtocol을 준수하는 클래스를 직접 만들었습니다. 전환에 묶여 제스처 인식기가 트리거 될 때, 나는 호출하여 전환을 시작하려고 : self.horizontalSwipeInteractionController이 UIPercentDriveInteractiveTranstion에서 상속

[self.horizontalSwipeInteractionController startInteractiveTransition:transitionContext]; 

. 죄송하지만이 시점에서 다음 오류가 발생합니다.

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[PrivateTransitionContext _animator]: unrecognized selector sent to instance 0x14654a80 

나는 지금 무엇을 해야할지 잘 모릅니다. 설명서에는 사용자 지정 컨테이너 컨트롤러를 사용하여 사용자 지정 전환을 구현하는 방법에 대한 예제가 없습니다.

답변

1

불행히도 UIPercentDriveInteractiveTranstion은 개인용 API를 사용합니다.

Alek 스트롬이에 대한 글을 자신의 그는 (강조는 추가) 대화 형 사용자 컨테이너 컨트롤러를 만드는 과정 안내 iOS Nomad blog : 전화,

... 우리가 UIPercentDrivenInteractiveTransition는 우리의 맥락에서 애니메이터를 찾는 것을 볼 수 있습니다 문서화되지 않은 방법. 편리하게도 Apple에서 만든 모든 전환 컨텍스트가이 방법을 구현하므로 전환율이 애니메이션을 실행할 수있는 방법입니다. 불행히도, 이는 을 의미하며 우리 고유의 사용자 정의 컨테이너 뷰 컨트롤러에 클래스를 사용할 수 없습니다.

그는 대체품으로 AWPercentDrivenInteractiveTransition을 사용할 것을 권장합니다.

관련 문제