1

コードからジェスチャ認識エンジンを作成しようとしていますが、動作させることができませんunrecognised selector sent to instance。ドラッグを実行するとエラーが発生します。LblDragアウトレットであるIBのUILabelです。アクションをレコグナイザーのコンストラクター パラメーターとして使用すると問題なく動作しますが、セレクター アプローチを使用できるようにしたいと考えています。

ここに私が持っているものがあります:

    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");
    }

レコグナイザーが追加されているビューを変更しようとしましたが、どちらも機能しません。

4

1 に答える 1

2

それは当然です。間違ったターゲットを追加しています。セレクターUILabelに応答しません(なぜ応答すると思いますか?)。DragMeコールバック メソッドを実際に実装するジェスチャ認識エンジンのターゲットとしてオブジェクトを追加する必要があります。

var recognizer = new UIPanGestureRecognizer(this, selector);
于 2013-01-14T07:49:54.750 に答える