【问题标题】:Detecting touch events on controls within UIPageViewController in Monotouch在 Monotouch 中的 UIPageViewController 中检测控件上的触摸事件
【发布时间】:2012-01-19 21:40:23
【问题描述】:
【问题讨论】:
标签:
c#
ios
xamarin.ios
uigesturerecognizer
uipageviewcontroller
【解决方案1】:
这是您的第一个链接如何使用 MonoTouch 转换为 C#(注意:未尝试)。
首先,您将为UIGestureRecognizer 创建自己的(非 .NET)delegate,如下所示:
class MyUIGestureRecognizerDelegate : UIGestureRecognizerDelegate {
public override bool ShouldReceiveTouch (UIGestureRecognizer recognizer, UITouch touch)
{
return (!(touch.View is UIControl));
}
}
如果触摸手势不适用于UIControl(包括按钮),它将返回true。
然后您需要将此委托分配给分配给您的UIPageViewController的GestureRecognizers。
MyUIGestureRecognizerDelegate del = new MyUIGestureRecognizerDelegate ();
UIPageViewController pvc = new UIPageViewController ();
foreach (var gr in pvc.GestureRecognizers)
gr.Delegate = del;
这使您可以调整手势的解释方式。如果手势本身未处理,则应将其路由到您自己的控件/按钮。