通过创建任意视图(称为gestureRegion)并为其分配gestureRecognizers,我已经更改了用户可以使用手势导航的屏幕区域。
但这仅限于点按手势。向右和向左滑动手势似乎仍在整个页面上工作。有没有办法覆盖滑动手势?或者完全禁用它?
我的代码:
self.gestureRegion.gestureRecognizers = self.pageViewController.gestureRecognizers; [self.pageViewController.view addSubview:gestureRegion];
Apple Doc:
gestureRecognizers 一组UIGestureRecognizer对象,配置为处理用户交互。 (只读) @property(非原子,只读)NSArray * gestureRecognizers 讨论 这些手势识别器最初附加到页面视图控制器层次结构中的视图。要更改用户可以使用手势导航的屏幕区域,可以将它们放在另一个视图上。 可用性 适用于iOS 5.0及更高版本。 宣告进入 UIPageViewController.h
答案 0 :(得分:1)
看起来要摆脱滑动而不是轻击,你可以从视图中删除Pan手势识别器......我把它放在Xcode自动生成的页面视图应用程序中的RootViewController类的viewDidLoad中。
for (UIGestureRecognizer *gR in self.pageViewController.gestureRecognizers) {
if ([gR isKindOfClass:[UIPanGestureRecognizer class]]) {
[[gR view] removeGestureRecognizer:gR];
}
}