2009-07-31 8 views
1

私はカスタムNSViewサブクラスを作成しています。私はこのクラスのいくつかのインスタンスを自分のウィンドウに持っています。そのほとんどはNSViewのsetFrameRotationメソッドを呼び出すことで回転しています。私はまた、このビューの長方形の領域の上にカーソルを移動する必要があります。回転NSViewサブクラスでカーソルrectを使用しないでください。

documentation for NSView's addCursorRect方法は、以下の斜めの警告が含まれています

カーソル矩形がsuperviews、によってクリッピングを受けないでも、それらが回転ビューで使用するためのものです。

よく、shucks。しかし、私は彼らがhacks I'd otherwise have to useよりもはるかに良いソリューションであるので、それらを使用することを確かにしたいと思います。そして、あなたは何を知っていますか?私はそれを試して、それは正常に動作するようです。それにもかかわらず、その警告は私を恐れる。私は悪魔が道路のある時点で彼の支払額を集めるようになることを心配している。したがって、私の質問はこれです:誰も知っているなぜカーソルの長方形は、回転ビューで使用するためのものではありません?

答えて

1

ええ、それは私の質問を投稿した直後のことです。答えは私に起こります。あたかもカーソル矩形で使用されるヒット検出が単純な矩形でのみ動作するかのように見えます。したがって、カーソルrectを持つビューを回転させると、実際に使用されるカーソルrectは、回転した元のrectを完全に囲む最小の長方形になります。

しかし、私が見ていない他の望ましくない副作用がある場合に備えて、私はこれを開いたままにしておきます。

1

私はこれを試しませんでしたが、10.5にはTracking Area Objectsでこれを行う新しい方法が追加されていて、古い学校カーソルの矩形には制限がないようです。

関連する問題