2011-08-10 8 views
2

カスタムNSViewサブクラスでレンダリングしているNSImagesがいくつかあります。私は、これらの画像を拡大し、ユーザが自分の上にマウスを置いて、これを行う最善の方法について不思議に思っています。NSImageマウスイベント

現在NSViewのdrawRect:メソッドを使用してイメージを合成していますが、NSImageViewインスタンスを使用してイメージをレンダリングすることもできます。私の最初の本能は、各NSImageインスタンスに対してNSTrackingAreaを設定することでしたが、明らかに何かを見逃していないことを確認したかったのです。

答えて

1

これを行うには、画像をCore Animationレイヤーとして設定するのがよいでしょう。あなたは非常に簡単にそれを行うための描画コードを書くことなく、アニメーションのように画像をポップアップ/拡大することができます。パフォーマンスもずっと良くなります。

マウスのトラッキングに関しては、NSTrackingAreaが良い方法です。

+0

これは間違いなくCALayerが大好きなものです。 –