iPad - PageViewController - 按钮点击显示下一个视图控制器

时间:2011-10-27 13:05:52

标签: ipad


我在我的应用程序中使用UIPageViewController,它显示了类似于书籍的所有图像。它的工作正常。
我现在想做什么:
我想在左上角放置一个按钮,然后单击它将显示一个弹出视图控制器,其中包含一个包含7个单元格的表视图。每个单元格将显示不同的URL。单击表格单元格,它将推送具有Web视图的视图控制器。

问题是什么 问题是我将按钮放在左上角并创建了一个显示弹出窗口的segue。但是点击按钮它会转到上一页,然后在下一次点击它最终到达第1页。然后在第1页,它将显示弹出窗口。我不明白为什么会这样发生。

即使在显示popover后,它也没有显示网站的下一个视图。

怎么做?

1 个答案:

答案 0 :(得分:5)

诀窍是UIPageViewController的手势识别器接管了该区域。特别是水龙头处理器;因此,只有当点击识别器没有将其作为转到上一页的意思时,您的按钮才会被点击。

最快的解决方案是将自己设置为其识别器的代理

for (UIGestureRecognizer *recognizer in pageViewController.gestureRecognizers)
  recognizer.delegate = self;

然后实现委托告诉他们让控件接触

- (BOOL)gestureRecognizer:(UIGestureRecognizer *) __unused gestureRecognizer shouldReceiveTouch:(UITouch *)touch
{
   if ([touch.view isKindOfClass:[UIControl class]])
      return NO;
   return YES;
}

应该很好地排序你。