2

タップgesture認識器をUIViewにアタッチし、プログラムでトリガしたいと考えています。私は首尾よくUIViewのタップジェスチャー認識子を見つける方法を見つけました。しかし、今私はそれをプログラム的に引き起こす方法を知らない。私はアプリcrawlerに取り組んでいます。だから私はViewControllerのソースコードを持っている場合、私のクローラは、ViewControllersubviewsをすべて見つけるクロールを開始します。また、クローラはsubviewsに添付されたgestureを検出します。タップgestureをタップします。UIViewのタップジェスチャ認識プログラムをプログラムで起動する方法

注:ジェスチャー認識機能をUIViewに付けてトリガーする方法を知っています。しかし私の場合は、アプリのクリックプロセスを自動化したかったのです。実行時にUIViewというタップジェスチャ認識子を見つけてそれをトリガーしたいと思うようにしてください。

+4

プログラムで作業したい場合は、ジェスチャーが必要な理由は?メソッドを呼び出すだけです。 –

+2

タップジェスチャーは、常にユーザーによってトリガーされます。なぜあなたはプログラム的にトリガする必要がありますか? – EricXuan

+0

私はアプリケーションクローラを開発中です。したがって、クローラは任意のタップジェスチャ認識機能をクリックします。 – techcraze

答えて

2

で行く私は偽のタッチを作成することによって、これを解決しました。ジェスチャーがアクションとセレクターを公開しないため、トリガージェスチャーは不可能でした。しかし、私はUIViewをタップしたいと思っています。私はそれに偽のタッチを作成することができますUIView。この偽のタッチは自動的にタップジェスチャーをトリガーします。 Thisリンクは非常に参考になりました。

1

ジェスチャーがターゲットとアクションを公開しないため、できません。これらの値にアクセスするためにプライベートAPIを使用したサブクラスを作成するか、それらを使用できるようにプライベートAPIを使用する必要があります。あなたが一般的なものを作成しているのであれば、サブクラスのオプションはとにかく良いものではありませんが、それより広い意味で、すべてがジェスチャーで動作するわけではないので、あなたの解決策は不完全です。

ほとんどのテストツールでは、インタラクティブなインターフェイスを使用してインタラクティブなビューを見つけ、プログラムでそれらをタップすると思います。

0

techcraze兄弟一般Gesture Says

ジェスチャーが実際接触している関心のビューが

場合、それが存在する画面の特定領域に起こる1本以上の指の動きTap gesture Recognizer

UITapGestureRecognizerに来る: T彼のクラスは、ビュー上で行われたタップジェスチャーについてはとみなしています。これは、1つまたは複数のタップを1つまたは複数の指で処理するために使用できます。タップは、ユーザーが行う最も一般的なジェスチャーの1つです。

指の助けなしに自動的に兄弟をすることはできません。

だから、我々のコードは

- (void)viewDidLoad 
{ 
    UITapGestureRecognizer *tapgesture =[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(tapView:)]; 
    tapgesture.numberOfTouchesRequired=1; 
    [self.view addGestureRecognizer:tapgesture]; 
} 

-(void)tapView:(UITapGestureRecognizer *)gesture 
{ 
    NSLog(@"The taped tag view is - %ld",gesture.view.tag); 
} 
+0

私はこの兄弟を知っています。私が知りたいのは、ユーザーが画面をタップしたときに、タップを認識して何らかの方法をトリガーする方法がなければならないということです。どのメソッドがCocoTouchで使用されているかを調べて、ビューをタップしてジェスチャーをトリガーするようにしたい。 – techcraze

+0

brotherをタップすると、tapView:メソッドが自動的に呼び出されます。アクション:@selector(tapView :):tapViewメソッドにブレークポイントを入れます。 – user3182143

+0

はい。しかし、それがどのような行動に結びついているのか分からなければどうでしょうか?私の場合、私は眺めのジェスチャーだけを持っています。ジェスチャーから、私はその行動を見つけずに行動を起こさなければなりません。私は@ Wainの答えは、ジェスチャーはその目標と行動を公開していないと考えていると思います。 – techcraze

関連する問題