UIPageViewControllerDelegate方法不在超类中调用

时间:2015-10-27 09:07:06

标签: ios uipageviewcontroller

我在超级班UIPageViewControllerDelegate中实现WDDesignPhotoBookViewController方法。 (它来自另一个超类)

之后我创建了一个名为WDPreviewBookViewController的子类。但是当我试图拖动并转向下一页时,我遇到了崩溃。 为了解决这个问题,我必须在我的子类中实现UIPageViewControllerDelegate方法,并在超类中调用一些受保护的方法。实际上,超级和子类中的两种实现都是一样的。我实施的方法之一如下:

- (void)pageViewController:(UIPageViewController *)pageViewController didFinishAnimating:(BOOL)finished previousViewControllers:(NSArray *)previousViewControllers transitionCompleted:(BOOL)completed {

我认为解决方案并不优雅。 你也遇到过这样的问题吗?有什么建议吗?在这种情况下转发消息会有帮助吗?我稍后可能会尝试一些想法。

崩溃时显示调用堆栈: The beginning of the call stack

The End of the call stack

1 个答案:

答案 0 :(得分:0)

如果你在子类中再次实现委托方法来执行超类的委托方法实现,你必须像这样手动调用超类方法

- (void)pageViewController:(UIPageViewController *)pageViewController didFinishAnimating:(BOOL)finished previousViewControllers:(NSArray *)previousViewControllers transitionCompleted:(BOOL)completed{

[super pageViewController:pageViewController didFinishAnimating:finished previousViewControllers:previousViewControllers transitionCompleted:completed];

}