2011-10-24 2 views
1

ユーザーがUIViewの背景の一部をクリックしたときに通知を受けたいと思います。基本的に、ユーザーがUIView(テーブル、テキストフィールド、ボタンなど)にあるコントロールの外側をクリックした場合。UITapGestureRecognizerメインビュー(入力またはボタンではない)のタップを認識します

どうすればよいですか?私はこれをやろうとしました:

しかし明らかに、すべてのコントロールはUIViewを拡張しています...そう、私はちょっと立ち往生しています。

答えて

1

これを行う方法の1つは、VCのメインビューの子である個別の背景ビューを追加することです。あなたは単にそれを透明にして、あなたのスタイリングを妨げないようにすることができます。場所は他のすべての子供の意見を背後にある。次に、GRをそのビューに登録します。あなたは次のことを行うことができるはず

+0

おかげで...私はそれを –

2

:提案のための

backgroundView.userInteractionEnabled = YES; 
UITapGestureRecognizer *tap = [[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapHit:)] autorelease]; 
[backgroundView addGestureRecognizer:tap]; 

-(void) tapHit:(UITapGestureRecognizer *tap) { 
    NSLog(@"background tapped"); 
} 
+0

I'veがtabeViewではなく、それはのtableViewインタラクションカバーと思われることをしようとした試みをあげますbackgroundViewインタラクションそのための解決法はありますか? – rockstarberlin

関連する問題