1

我有几个按钮位于我的 ViewController 所覆盖的区域UIPageViewControllerGestureRecognizers。此区域中的水龙头被 消耗掉,UIPageViewController并且永远不会到达下面的按钮。

我已阅读iPad - PageViewController - Show next view controller on button clickUIPageViewController Gesture 识别器并了解原理,但没有先前的 Obj-C 经验,并且正在努力在 C# 中重新创建这些解决方案。

有人可以提供一个如何在 MonoTouch 中完成的示例吗?

4

1 回答 1

2

这是您的第一个链接如何使用 MonoTouch 转换为 C#(注意:未尝试)。

首先,您将创建自己的(非 .NET)委托UIGestureRecognizer如下所示:

class MyUIGestureRecognizerDelegate : UIGestureRecognizerDelegate {

    public override bool ShouldReceiveTouch (UIGestureRecognizer recognizer, UITouch touch)
    {
        return (!(touch.View is UIControl));
    }
}

true如果触摸手势不适用于 a UIControl(包括按钮),它将返回。

然后,您需要将此委托分配给GestureRecognizers分配给您的UIPageViewController.

MyUIGestureRecognizerDelegate del = new MyUIGestureRecognizerDelegate ();

UIPageViewController pvc = new UIPageViewController ();

foreach (var gr in pvc.GestureRecognizers)
    gr.Delegate = del;

这使您可以调整手势的解释方式。如果手势本身不处理,则应将其路由到您自己的控件/按钮。

于 2012-01-20T14:22:25.190 回答