【问题标题】:viewControllerAfterViewController: does not get called with UIPageViewControllerviewControllerAfterViewController:没有被 UIPageViewController 调用
【发布时间】:2013-12-12 01:09:14
【问题描述】:

我遇到了一个很奇怪的 UIPageViewController 行为。

我是用UIPageViewController来显示一组ViewController,所以我遵守UIPageViewControllerDataSource协议,实现了如下方法:

- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(NHBufferRoomViewController *)viewController
{
    NSLog(@"Got here!!");
    NSInteger newIndex = [_imageManager currentImageIdx] + 1;
    if (newIndex >= [_imageManager count]) return nil;

    NSLog(@"%d", newIndex);
    NHBufferRoomViewController *controller = [self.storyboard instantiateViewControllerWithIdentifier:@"BufferRoom"];
    [controller updateImageAtIndex:newIndex];
    [[NSNotificationCenter defaultCenter] postNotificationName:kCurrentImageIndex object:[NSNumber numberWithInteger:newIndex]];
    return controller;
}

但是当我滑动页面视图控制器时,有时,视图控制器确实移动到了下一页,但是直到我再次滑动时 NSLog(@"Got here!!"); 才被调用,这很奇怪。据我了解,页面视图控制器在需要显示新页面时应该调用此方法,对吧?但是为什么没有调用该方法呢?

顺便说一下,我正在将过渡类型设置为滚动。提前致谢!

【问题讨论】:

  • 您已经解决了这个问题吗?我面临同样的行为,没有任何解决方案......
  • 这里也一样。特别是当您从右向左完全滑动时,将显示下一页,但不会调用该方法。稍微前后移动图像将触发呼叫。奇怪...
  • @eftokay83,很遗憾,没有。我放弃了这个..
  • 这个问题你解决了吗?我也有同样的问题。

标签: ios objective-c uipageviewcontroller


【解决方案1】:

是的,你是对的。 它的问题苹果的api。

解决方法:不要使用 UIPageViewController,而是通过 UIScrollView 实现分页

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-15
    • 1970-01-01
    • 1970-01-01
    • 2018-11-25
    相关资源
    最近更新 更多