2009-05-16 7 views
0

私はUIScrollViewのサブクラスでは、このコードでそれを試してみました:UIScrollView内でUIImageViewサブクラスのタップを認識するにはどうすればよいですか?

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { 
    NSLog(@"he/she touched me"); 
} 

私も私の見解の初期設定では、これが呼び出されることを確認しました:

self.userInteractionEnabled = YES; 

しかし、スクロールビューはdoesnの私のサブビューを数回タップすると、何も起こりません。ログメッセージはありません。私は、ユーザーがスクロールしたい場合、UIScrollViewが実際に瞬間を待っていることを知っていますが、ある時点で待機を断念し、サブビューにイベントを起動する必要があります。

私がここで逃したかもしれない重要なことはありますか?

編集:同じ問題がある場合は、私の答えを読む!

答えて

1

私の質問を削除する代わりに、他の人がその問題に興味があると思うかもしれません。だから、解決策は、静かな単純なものでした:私はタッチイベントを受け取る必要があり、あなたのビューが他のビュー内にネストされている場合、そのすべてのサブビューがuserInteractionEnabled =に設定する必要がありますので

anSuperview.userInteractionEnabled = YES; 

を設定するのを忘れYES;

+0

ビューがスーパービューのuserinteractionEnabledに設定されていると正しく表示されません。私はあなたがあなたのデザインを見なければならないと思う、より一般的なデザインは、viewControllerがsubViewsの振る舞いを設定するべきであるということです。 –

+0

私はRogerに同意しなければなりません:タップに応答するイメージ、あなたのイメージビューをカスタムUIButtonに入れたほうがいいです(つまり、btn = [UIButton buttonWithType:UIButtonTypeCustom]; [btn setBackgroundImage:image forControlState:UIControlStateNormal]) –

+0

そうです、ビューコントローラはその設定を処理する必要があります。 – Thanks

関連する問題