Iphone UIPageViewController工作不正常
我正在使用UIPageViewController在webview中加载10个网页 所有网页均已正确加载。但我现在面临着一个奇怪的问题Iphone UIPageViewController工作不正常,iphone,ios,cocoa-touch,uigesturerecognizer,uipageviewcontroller,Iphone,Ios,Cocoa Touch,Uigesturerecognizer,Uipageviewcontroller,我正在使用UIPageViewController在webview中加载10个网页 所有网页均已正确加载。但我现在面临着一个奇怪的问题 - (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController 现在我在第一页。因此,不可能回到过去 - (UIView
- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController
现在我在第一页。因此,不可能回到过去
- (UIViewController *)pageViewController:(UIPageViewController *) pageViewController viewControllerBeforeViewController:(UIViewController *)viewController
在我加载第一个页面后,我只是用WebView上下滚动。突然调用了viewControllerAfterViewController
方法。奇怪的是,它没有移动到下一个视图,即(第二页)没有加载
有什么问题吗 我不确定,但我认为问题在于手势识别器,或是这些CGRECT的位置。基本上,页面视图控制器监听触摸移动。因此,如果用户滑动滚动条(在网络视图上),页面视图将尝试执行翻页。(我猜)我认为解决方案是确保页面视图触摸位置(CGRect)不与web视图重叠。显然,您可以设置UIPageViewController“翻页”的触摸位置(区域) 您可以先在iOS参考库中查找“UIgestureRecognitor类参考”。我希望这对您有所帮助 以下是我在那里发现的: 地点查看: 返回作为接收器表示的手势在给定视图中的位置计算的点
- (CGPoint)位置视图:(UIView*)视图 参数 看法 发生手势的UIView对象。指定nil表示窗口。 返回值 局部视图坐标系中的一个点,用于标识手势的位置。如果为视图指定了nil,则该方法将返回窗口基本坐标系中的手势位置
- (CGPoint)触摸位置:(NSUInteger)视图中的触摸索引:(UIView*)视图 参数 接触指数 由接收器维护的专用数组中UITouch对象的索引。此触摸对象表示当前手势的触摸。 看法 发生手势的UIView对象。指定nil表示窗口。 返回值 局部视图坐标系中的一个点,用于标识触摸的位置。如果为视图指定了nil,则该方法将返回窗口基本坐标系中的触摸位置
UIGestureRecognizer.h此处描述的类似问题:实际上,如果我点击最左端或最右端,UIPageViewController会滚动。因此,我为(UIGestureRecognizer*pageController.gestureRecognizers中的recognizer){if([recognizer isKindOfClass:[UIApgestureRecognizer class]])添加了以下代码{recognizer.enabled=NO;}}所以这一个避免了点击手势。但是现在,如果我在webview的左侧上下滚动,viewControllerAfterViewController方法将被调用