我在超级班UIPageViewControllerDelegate
中实现WDDesignPhotoBookViewController
方法。 (它来自另一个超类)
之后我创建了一个名为WDPreviewBookViewController
的子类。但是当我试图拖动并转向下一页时,我遇到了崩溃。
为了解决这个问题,我必须在我的子类中实现UIPageViewControllerDelegate方法,并在超类中调用一些受保护的方法。实际上,超级和子类中的两种实现都是一样的。我实施的方法之一如下:
- (void)pageViewController:(UIPageViewController *)pageViewController didFinishAnimating:(BOOL)finished previousViewControllers:(NSArray *)previousViewControllers transitionCompleted:(BOOL)completed {
我认为解决方案并不优雅。 你也遇到过这样的问题吗?有什么建议吗?在这种情况下转发消息会有帮助吗?我稍后可能会尝试一些想法。
答案 0 :(得分:0)
如果你在子类中再次实现委托方法来执行超类的委托方法实现,你必须像这样手动调用超类方法
- (void)pageViewController:(UIPageViewController *)pageViewController didFinishAnimating:(BOOL)finished previousViewControllers:(NSArray *)previousViewControllers transitionCompleted:(BOOL)completed{
[super pageViewController:pageViewController didFinishAnimating:finished previousViewControllers:previousViewControllers transitionCompleted:completed];
}