2017-01-18 35 views
0

最初我以为这是一件非常简单的事情,但看起来不是这样。我需要在我的UIPageViewController中发生页面翻转时向我的服务器发出一个简单的GET请求。我试图把使服务器调用该方法的方法,如:每翻页后调用一次方法调用UIPageViewController

- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController 

- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerBeforeViewController:(UIViewController *)viewController 

- (PageContentViewController *)viewControllerAtIndex:(NSUInteger)index 

但所有这些方法被调用后始终每一页翻动的UIPageViewController试图维持viewcontrollers我猜的缓存。有没有解决这个问题的方法?

回答

4

你应该实现UIPageViewControllerDelegate方法

- (void)pageViewController:(UIPageViewController *)pageViewController didFinishAnimating:(BOOL)finished previousViewControllers:(NSArray *)previousViewControllers transitionCompleted:(BOOL)completed 
{ 
    if (finished) { 
     // in case you are sure that you shows only YourViewController 
     YourViewController *vc = (YourViewController *)pageViewController.viewControllers.lastObject; 
     // decide what is the index of the controller based on your own logic and do what you want with it 
    } 
} 

希望它能帮助!

+1

是的,当然,确保将委托设置为实现此方法的对象。 – danh

+0

无论如何,我可以使用页面翻转的索引或在上面的方法翻转了吗? –

+0

增加了描述如何接收显示的UIViewController的索引 – Sander

相关问题