UIPageviewController 数据源的自定义方法

Posted

技术标签:

【中文标题】UIPageviewController 数据源的自定义方法【英文标题】:Custom method for UIPageviewController datasource 【发布时间】:2013-07-17 15:15:35 【问题描述】:

我想为 uipageviewcontroller 数据源实现一种自定义方法,该方法将在索引处转到页面

类似的东西

- (void) pageViewController:(PageViewController *)pageViewcontroller willTurnToPageAtIndex:(NSUInteger)currentIndex 

我不知道这是否是为 uipageviewcontroller 数据源实现自定义方法的正确方法。

【问题讨论】:

我假设您真正要问的是什么时候调用该方法? 我实现了这个自定义方法,但首先不确定它是否正确,然后我必须在头文件中声明它以便执行它,因为它在执行时没有被调用 【参考方案1】:

您可以将任何您喜欢的方法添加到数据源类中。被认为是公共的方法也应该在头文件中定义。

但这不是你要问的。你在问:我怎样才能让UIPageViewController 打电话给它?

简短的版本是:你不能。

虽然你的方法有一个很好的、可读的签名,但对于编译器来说,它并没有什么不同:

- (void) pageViewController:(PageViewController *)pageViewcontroller banana:(banana*)banana;

控制器不可能知道如何处理它。

恐怕,一般来说,你必须使用公布的方法。

一些例外。例如,有时没有委托方法,但您可以订阅通知。或者也许还有另一个代表可以使用?在您的情况下,我希望“将做某事”方法出现在委托而不是数据源上。

【讨论】:

你是对的 willturntopageatindex 应该是委托而不是数据源。

以上是关于UIPageviewController 数据源的自定义方法的主要内容,如果未能解决你的问题,请参考以下文章

UIPageViewController 方向只向前

UIPageViewController 委托、数据源和接口错误

在故事板中使用 UIPageViewController

获取 UIPageViewController 的滚动位置

UIPageViewController 显示错误数据

UIPageViewController仅向前方向