我正在尝试从代码创建一个手势识别器,但是我无法让它工作,当我执行拖动时我得到unrecognised selector sent to instance
。 LblDrag
是来自IB的UILabel,它是一个出口。如果我使用Action作为识别器的构造函数参数,它可以正常工作,但我希望能够使用选择器方法。
这就是我所拥有的:
public override void ViewDidLoad ()
{
base.ViewDidLoad ();
// Perform any additional setup after loading the view, typically from a nib.
var selector = new MonoTouch.ObjCRuntime.Selector("DragMe");
var recognizer = new UIPanGestureRecognizer(LblDrag,selector);
View.AddGestureRecognizer(recognizer);
}
[Export("DragMe")]
protected void DragMe ()
{
Console.WriteLine ("Drag");
}
我试图更改添加识别器的视图,但都不起作用。
答案 0 :(得分:2)
这很自然 - 你正在添加错误的目标。 UILabel
没有响应DragMe
选择器(为什么你会这样做?)。您必须将对象添加为实际实现回调方法的手势识别器的目标:
var recognizer = new UIPanGestureRecognizer(this, selector);