2

ユーザーがscrollViewのcontentSizeを超えて水平方向に特定の距離をスクロールすると、「引き継いで」いくつかのアニメーションを実行したいと思います。問題は、これが発生するとすぐにユーザーインタラクションをオフにしても、「ドラッグ」操作が継続していることです。ユーザーがタッチを離したときにのみ、インタラクションが無効になります。

ドラッグの最後のタッチアップをプログラムでシミュレートする方法はありますか?最終的には、トリガーが起動すると、ユーザーはすぐにビューを操作できなくなります。

4

2 に答える 2

3

scrollViewのscrollEnabledプロパティを一時的にに設定できますNO。(プロパティとは異なりuserInteractionEnabled、トグルscrollEnabledはすぐに効果があります。)アニメーションが終了したら、再びオンに戻すことができます。

Appleのドキュメントから:

scrollEnabled

スクロールを有効にするかどうかを決定するブール値。

@property(nonatomic, getter=isScrollEnabled) BOOL scrollEnabled

討論

このプロパティの値がYESの場合、スクロールが有効になり、NOの場合、スクロールが無効になります。デフォルトはYESです。

スクロールが無効になっている場合、スクロールビューはタッチイベントを受け入れません。それらをレスポンダーチェーンに転送します。

于 2012-06-14T16:46:16.490 に答える
0

ジェスチャレコグナイザーを使用してユーザーのタッチを検出する必要があると思います。これで問題は解決しますが、さらに明確にするために、タッチを検出しようとしたコードフラグメントを投稿できますか?

于 2012-06-11T05:03:10.633 に答える