2011-08-15 4 views
3

私はサブタイプNSOpenGLViewを含むNSWindowを持っています。マウスホイールを使用すると、ホイールをゆっくり回すとすべてのホイールステップで0.1が得られます。マックブックのマルチタッチパッドを使ってゆっくりとスクロールすると、deltaYが0.0、散発的に0.3または0.4のイベントが多く発生します。誰がこれがどこから来て、どのようにスイッチを切ることができるかを知っていますか?マルチタッチパッドを使ってテキストエディタをスクロールすると動作するようです。マルチタッチパッドを使用すると、なぜNSViewレポートのscrollWheelメソッドのdeltaYが0.0になるのですか?

答えて

0

"スイッチオフ"とはどういう意味ですか?そのようなイベントは、スクロールホイールの整数増分ではなく、タッチを追跡することによる自然な結果であり、デルタで正しく拡大縮小しても効果がありません。

あなたが行動をスクロールする、より複雑な制御が必要な場合は、OS X 10.7は、(私は0・デルタイベントがNSEventPhaseStationaryに相当期待)タッチスクロールイベントの異なる部分を区別するための新しいNSEventPhaseタイプとphaseプロパティを追加します。

+0

問題は、ビットをスクロールするとき(つまり、マルチタッチパッド上に2本の指を置いてビットを動かしたとき)、0デルタイベントが発生するということです。テキストエディタやブラウザでは動きがありますが、0のデルタイベントが発生したときに私の視点で移動する方法はわかりません。 – Jochen

+0

ああ、そうです。さらに精度を上げるには、 'scrollDeltaY'と' scrollDeltaX'(Lionの新機能)を使用してください。 –

+0

しかし、私はスノーヒョウを持っていると私はそれが他のアプリで動作することがわかります。スノーヒョウの解決策はありますか? – Jochen

関連する問題