サブビューでタッチイベントを設定するには?

私はそれに2つのサブビューを持つメインビューコントローラを持って、1つはノートビューであり、他の1つは共有ビューです。メインビューコントローラにあるテーブルビューのセルをクリックすると、ノートビューがポップアップ表示され、ノートビューにボタンが表示されます。ユーザーがボタンをタップすると、別のサブビューの共有ビューが表示されます。しかし、私は共有ビューを閉じる必要があります。ユーザがノートビューをタップします。サブビューでタッチイベントを実装することは可能ですか? 私はこのコーディングを行ったが、結果はエラーである viewdidloadで

NotesView *label =[[NotesView alloc]init];
UITapGestureRecognizer *tapGesture =
[[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(NoteTap)]     autorelease];
[label addGestureRecognizer:tapGesture];
[tapGesture release];

次に

-(void)NoteTap
{
    UIView *langview = (UIView *)[self.view viewWithTag:120]; 
    //ViewWithTag Number should be same as used while allocating
    [langview removeFromSuperview];
}
0
@EmptyStackどうすればこの問題を解決できますか?ありがとう
追加された 著者 ICoder,

1 答え

ビューコントローラの touchesBegan:の内部で、タッチイベントがサブビューのフレーム内で場所を取るかどうかを確認することができます。

CGPoint touchPoint = [touch locationInView:self];

if (CGRectContainsPoint(label.frame, touchPoint)) {

 UIView *langview = (UIView *)[self.view viewWithTag:120]; 
 [langview removeFromSuperview];

}
2
追加された
私はあなたの答えを見なかった、コードをチャックして、あなたの返事のためにu.thnksを元に戻す
追加された 著者 ICoder,
素晴らしいanswerrrrrrrrrr.itは私のためにうまくいく.thankssssss。
追加された 著者 ICoder,