質問

uiviewcontrollerを持っています。上にuiimageviewを置き、次にuiscrollviewを置きます。

Uiscrollviewのタッチをうまく処理できますが、UiviewControllerで特定のタッチを処理したいと思います。

5秒間保持されているuiscrollviewのタッチのみが必要です(この部分は正常に機能します)。それ以下は、uiviewcontrollerに渡したいものです。

uiscrollviewで私はこれを呼びます:

- (void) touchesBegan: (NSSet *) touches withEvent: (UIEvent *) event
{
// some custom code to process a specific touch.

// all other touches
    [super touchesBegan: touches withEvent: event];
}

uiscrollviewから下部のuiviewcontrollerにタッチを渡す方法はありますか、それともuiviewcontrollerへの参照をuiscrollviewに渡す必要がありますか?

役に立ちましたか?

解決

解決した!

追加する必要があります:

[self.nextResponder touchesEnded: touches withEvent:event]; 

最もコントローラーのトップに。

自分に感謝します!

他のヒント

AppleのドキュメントでToucheSbeganの説明は次のように語っています。

次のレスポンダーにメッセージを転送するには、メッセージをSuper(SuperClass実装)に送信します。次のレスポンダーに直接メッセージを送信しないでください。例えば、

[super touchesBegan:touches withEvent:event];

スーパー(一般的な使用パターン)を呼び出すことなくこの方法をオーバーライドする場合、スタブ(空)の実装としてのみタッチイベントを処理する他の方法をオーバーライドする必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top