【发布时间】: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