我正在尝试在我的 iPhone 应用程序中创建一个自定义容器控制器。我希望这个容器能够实现自定义转换,就像 iOS 7 中 TabBarControllers 和 NavigationControllers 的默认行为一样。我已经成功地能够为我的转换添加自定义动画,但是在添加交互逻辑时遇到了麻烦。
作为过渡过程的一部分,我必须创建一个 TransitionContext。这通常由系统创建,但由于我使用的是自定义容器控制器,因此我创建了自己的符合 UIViewControllerContextTransitioningProtocol 的类。当触发绑定到转换的手势识别器时,我尝试通过调用开始转换:
[self.horizontalSwipeInteractionController startInteractiveTransition:transitionContext];
其中 self.horizontalSwipeInteractionController 继承自 UIPercentDriveInteractiveTranstion。不幸的是,此时我收到以下错误:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[PrivateTransitionContext _animator]: unrecognized selector sent to instance 0x14654a80
我不明白现在该怎么办。该文档没有提供有关如何使用自定义容器控制器实现自定义转换的示例。