Xamarin.ios 无法使滑动手势起作用
我已经尝试为用户左右滑动做出滑动手势 幸运的是,我在专业iPhone编程中发现了一个有用的例子,包括MonoTouch和.NET/C,第292页识别手势和本文。 然而,当我在模拟器中运行这段代码时,什么也没发生。我错过了什么 你能帮我把这件事做好吗 我使用的代码可以通过以下链接下载。 请看一下MyViewController.cs文件的第31行Xamarin.ios 无法使滑动手势起作用,xamarin.ios,Xamarin.ios,我已经尝试为用户左右滑动做出滑动手势 幸运的是,我在专业iPhone编程中发现了一个有用的例子,包括MonoTouch和.NET/C,第292页识别手势和本文。 然而,当我在模拟器中运行这段代码时,什么也没发生。我错过了什么 你能帮我把这件事做好吗 我使用的代码可以通过以下链接下载。 请看一下MyViewController.cs文件的第31行 期待您的来信。以下是我的观点: (在我的类定义中) 公共静态选择器RightSwipeSelector { 得到 { 返回新选择器(“HandlerRi
期待您的来信。以下是我的观点: (在我的类定义中)
公共静态选择器RightSwipeSelector
{
得到
{
返回新选择器(“HandlerRightSwipe”);
}
}
公共类SwipeRecogniserDelegate:UIGestureRecognizerDelegate
{
公共覆盖布尔应接收触摸(UIGestureRecognitor识别器,UITouch触摸)
{
返回true;
}
}
[导出(“HandlerRightSwipe”)]
公共无效HandlerRightSwipe(UISwipegestureRecognitor识别器)
{
WriteLine(“得到了正确的一击”);
}
(内部视图加载)
UISweepGestureRecognizer sgrRight=新的UISweepGestureRecognizer();
sgrRight.AddTarget(此,右侧为选择项);
sgrRight.Direction=UISweepGestureRecognitizerDirection.Right;
sgrRight.Delegate=新的SwipeRecogniserDelegate();
View.AddGestureRecognitor(sgrRight);
我将此类扩展方法简化为UIView实例:
您使用它的方式如下:
View.Swipe(UISwipeGestureRecognizerDirection.Right).Event += (s, r) =>
new UIAlertView("Swipe Test", "Swipe " + r.Direction.ToString(), null, "Ok")
.Show();
你不再需要为你的项目添加难看的代码来刷卡了 非常感谢你,vlad259。我遵照你的建议,把它应用到新项目中。不幸的是,它不工作,并得到错误。请通过此链接下载源文件。好的,我必须做两件事才能在你的解决方案中起作用。首先,您需要在FinishedLaunching()之外引用MainComicsViewController-否则垃圾回收器会删除您的视图,并且在您尝试滑动时会出现异常和/或调试器崩溃。其次,HandlerRightSwipe方法和RightSwipSelector属性都应该在MainComicsViewController类中定义。我做了这两个改变,这个手势现在起作用了。非常感谢弗拉德。正如我所预料的那样。我按照你的建议做了这件事,并把新的工作源代码文件放进去。希望有人会觉得这个有用。非常有用。但最新的MonoTouch是否仍然如此复杂?非常漏洞百出的抽象……非常感谢,查克·萨维奇:)