どのようにUITableViewCellののImageViewの上でタッチイベントを取得しますか?
質問
私は、通知を取得したいときに、ユーザーシングルタップまたはのUITableViewCellのImageViewの上をダブルタップ。 withEvent:サブビューコントローラで、私が期待したイベントをトリガすることができない私は、tryがImageViewのにサブビューを追加し、touchesBeganを使用するようになっています。どのように私は仕事をすることができますか?
解決
私のプロジェクトで、私はあなたが単にAppleのサンプルコード、プロジェクト「TapToZoom」で見ることができ便利です場合、ユーザーとの対話を追加するUIImageViewをサブクラス化しています。 ショートパンツでは、ユーザーとの対話を有効にする必要があり、それだけで後にUIImageViewは、タッチに答えるために開始します。 これはuserInteractionEnabledプロパティを設定することによって行われます:
[self setUserInteractionEnabled:YES];
あなたは、たとえば、することにより、他のタッチのプロパティをカスタマイズすることができます:
[self setMultipleTouchEnabled:YES];
twoFingerTapIsPossible = YES;
そうしないと、写真アプリ、みましょうと言うように、サムネイルビューの並べ替えを実装することができます。あなたの目的に応じて、あなたも、あなたが背景画像を設定することができますUIButtonを使用して考えることができます。私は単純に各のtableView行でプログラム4 UIButtonsを置くことによって、元の写真アプリのビューサムネイル写真を模倣するプロジェクトを持っている、そしてそれは罰金に動作します。 乾杯
他のヒント
もう一つの解決策ます:
タッチイベントを処理するためにUIImageViewにカテゴリを追加します。そして、各タッチイベントの通知を送信し、ビューコントローラでの通知(またはセルコントローラ)に加入しています。
あなたは陽気を感じている場合は、あなたの可能性もビューコントローラに転送メソッド呼び出します。
次に、セルのImageViewのためのタッチイベントを有効ます:
[self setUserInteractionEnabled:YES];
あなたがそれらを処理する場所これで、すべてのタッチがサブクラス化せずに、送信されます。そして、それは再利用可能である。
上の答えのおかげでは、ジョブが行われています。
My solution: subclass a UIView, override touchesBegan:withEvent: in it's implementation file add the UIView(as subview) to cell.view and cover the position of imageView, then make the subview nearest transparent(alpha=0.015f) done. it works fine
注:?アルファ数は(0.01f)が小さすぎる場合には、タッチイベントがトリガされません、誰もが、なぜ
知っています