2

iPhoneのカメラビューにオーバーレイされたビューがあります。このビューでは、加速度計/コンパスからの値に応じた位置に表示されるいくつかのuibuttonがあります。ユーザーがビュー内でタッチアップしたときにイベントを発生させる必要がありますが、ユーザーはuibuttons内でタッチアップしません。つまり、uibuttons内でタッチアップするのとは逆のアクションです。誰かがこれを行う種類を知っていますか?ありがとう!

4

3 に答える 3

1

UIResponder touchesBegan:withEvent:メソッドを実装する場合。

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event

...ビューでは、ユーザーがボタンの外側を押したことを確認できます。

詳細については、UIResponderクラスリファレンスを参照してください。

于 2010-12-20T14:39:26.260 に答える
0

たとえば、1つのイベントハンドラー(IBAction)をUiVeiwとそのUIButtonに割り当ててから、送信者パラメーターを比較できます。

-(IBAction) viewClicked :(id) sender {
  if (id == myView) ...
}
于 2010-12-20T14:40:52.830 に答える
0

私はあなたのオプションを試しましたが、うまくいきません。イベントを発生させようとしたビューは、カメラビューのTabBarアイテムに含まれていたため、レスポンダーチェーンは機能しないと思います。最後に、ファーストレスポンダーのオーバーレイビューを実行する際の問題を解決しました。[viewOverlay.view becomeFirstResponder];

于 2010-12-22T08:38:13.140 に答える