質問

残念ながら、私は自分自身をテストするために私は自分のマジックマウスを得るためには至っていないので、これは難しいですが、私は運動量のスクロールが私のアプリで働いていないことを魔法のマウスを持っていない私のテスターで言われてきました。私はNSScrollViewをサブクラス化いませんでしたが、scrollviewのドキュメントビューには、すべてのカスタムです。どちらか、どこでも、まだ勢いは明らかにだけ動作していない:私は、スクロールホイールをオーバーライドしていません。私が開始する場所さえわかりません。私はそれだけで自分の世話を考えスクロールホイールのイベントや物事を送信しようと思いました。もちろん、私は何とかそれを停止しています何かをしなければなりません(。ホイールまたは予想通りMBPのトラックパッドの作品にスクロール)、しかし、私もどこを開始するのか分かりません。思考?

役に立ちましたか?

解決

私はしばらく前にこれを考え出したし、問題がスクロールに、私はややどのようにiPhoneのUITableView上のような派手なビュー操作の多くをやっていたということでした彼らは、画面のオンとオフをスクロールとして追加し、ビューを削除します。これは、パフォーマンスのために素晴らしい仕事を - 。しかし、より多くの私はOSXのプログラミングに入った、より多くの私は、これはOSXのために間違っていた実現(ただし、iPhoneの右アイデア)

本当に何が起こっている。とにかく、それはそう、あなたがホイールスクロールのような何かをするとき、スクロールイベントは、マウスカーソルの下のビューに送信されていることであり、それはどこかになるまで、それは応答/ビューを下に波紋それはそれを取り扱います。通常、これは問題ではありませんが、勢いでOSをスクロールすることは実際には勢いがの開始時にカーソルの下にあったビューへのより小さなスクロールホイールイベントを送信しています。ビューは、(それが画面か何かをオフにスクロールするので)、それはチェーンを壊し、まだスクロールホイールのメッセージを取得していますビューは、もはやビュー階層であるので、勢いが止まっていないスクロールの過程で削除された場合、それは意味します。

それが画面から外れだ場合でも -

「シンプル」の修正は、最後のスクロールホイールイベントを得たビューを削除しないことです。より良い修正(と私が一緒に行った1)が、彼らがUIViewsであり、代わりにただのdrawRectを使用してコンテンツを描くようNSViewsを使用しようとしないことです。 :)だけでなく、億程度倍の速さは、それだけの勢いはOSXは物事が行われることを期待し、どのようにだから、スクロールして(tm)の作品ということである。

私の後を繰り返し:OSXはiPhoneOSではありません..:P

他のヒント

あなたがNSScrollView自体のラインスクロールとページスクロールプロパティを設定していないとき、

奇数スクロール動作が発生する可能性があります。

それ以上に、あなたは非常に単純にマジックマウスを取得する必要があるとしている - 簡単:-)ではないと述べたか - これを自分でテストしたり、カスタムビューの全体のコードだけでなく、それを含むXIBを投稿します。他の人がそれなしであなたに(上記のような)推測以上のものを提供することができる方法はありません。

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