私は最初の Cocoa アプリを作成しています。3D OpenGL シーンを回転させるための「トラックボール / 眼球 / アークボール / あらゆる名前のボタン」を作成したいと考えています。
Pages (Apple iWork スイート) で 3D グラフを選択すると、このカスタム Cocoa コントロールの完璧な例があります。いくつかのハッキングの後、このコントロールは として参照されているようSFC3DRotateWidget
です。Pages のコントロールのスクリーンショットを次に示します。
このウィジェットは再利用可能かもしれませんが、方法や場所がわかりませんでした。なので再現してみる。
私は Cocoa に慣れていないので、それを行う方法も正確な場所もわかりません (つまり、Interface Builder をどうするか、コードをどうするか...)。
描画機能をオーバーライドする必要があるかどうかはわかりません。テクスチャ ボタン (Interface Builder) とNSTrackingArea
(コード) を使用してマウス イベント (移動、ドラッグなど) を処理することを考えましたが、領域は必然的に長方形になります。Apple が使用するカスタム コントロールのインタラクティブ ゾーンは、矢印の形に従っているようです。私はNSBezierPath
より具体的な領域を作成するために使用できるSOを読んだことがあります(コードを介してのみ?)。
いい感じですか?私は何かが恋しいですか?
共有できるヒント、コツ、リソースがあればお知らせください。
ありがとう!