我正在使用UIPageViewController在webview中加载10个网页。
所有网页都是正确加载的。但我在
面临一个奇怪的问题- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController
现在我在第一页。所以没有可能回到
- (UIViewController *)pageViewController:(UIPageViewController *) pageViewController viewControllerBeforeViewController:(UIViewController *)viewController
加载第一页后,我只是使用WebView上下滚动。突然,viewControllerAfterViewController
方法被调用。奇怪的是,它没有被移动到下一个视图,即(第二页)没有加载。
可能是什么问题?
答案 0 :(得分:1)
我不确定,但我认为问题出在手势识别器或CGRects的位置。基本上,页面视图控制器监听触摸移动。因此,如果用户滑动滚动(在webView上)页面视图尝试执行翻页。 (我猜)我认为解决方案是确保页面视图触摸位置(CGRect)不与Web视图重叠。显然你可以设置触摸UIPageViewController的位置(区域)来翻页。
您可以从iOS参考库中查找“UIGestureRecognizer类参考”开始。我希望这有帮助
这是我在那里找到的:
locationInView: 返回计算为接收器表示的手势的给定视图中的位置的点。
讨论 返回值是UIKit框架计算的手势的通用单点位置。它通常是手势中涉及的触摸的质心。对于UISwipeGestureRecognizer和UITapGestureRecognizer类的对象,此方法返回的位置对手势具有特殊意义。这些重要性记录在这些类的参考文献中。
状况 适用于iOS 3.2及更高版本。 也可以看看 - locationOfTouch:inView: 宣告进入 UIGestureRecognizer.h locationOfTouch:inView: 返回给定视图的局部坐标系中手势触摸之一的位置。
状况 适用于iOS 3.2及更高版本。 也可以看看 - locationInView: 宣告进入 UIGestureRecognizer.h