NSTrackingAreaクラス

NSViewでカーソルのトラッキングを行うとき、NSViewクラスのaddTrackingRect:owner:userData:assumeInside:メソッドを使っていましたが、Mac OS X 10.5のときにNSTrackingAreaクラスが追加されて、もうちょっとオブジェクト指向的になっていたことに気がつきました。
機能的にはaddTrackingRect:owner:userData:assumeInside:と違いはないように思いますが、updateTrackingAreasという気になるメソッドがあります。
ドキュメントによるとNSViewのサブクラスを作ったときにオーバーライドして、トラッキングエリアの更新を行えるという位置づけのメソッドです。
NSViewのトラッキングエリアの指定は、ビューのサイズが変わったときや移動したときなどに自動的には追従してくれないので、そのことを意識したメソッドのようです。
動作環境が10.5以降のときはこっちを使った方がスマートですね。

関連記事

  1. BambooでiOSアプリの継続的ビルド&テストを行う

  2. Mac OS X Legacy Libraryのリファレンス

  3. JIRAのステータスに「保留」を追加する

  4. セミナーのお知らせ

  5. Gitの管理ディレクトリを分離する

  6. ドキュメントページを作成しました

最近の著書

  1. 基礎から学ぶ SwiftUI

最近の記事

  1. 2020.10.21

    GitLabへの移行