2017-02-03 6 views
3

私はいくつかのウィンドウとビュー(NSTextViewなど)を持つアプリケーションを開発しています。NSCursorをグローバルに変更するには?

私のアプリケーションでカーソルをグローバルに変更したいので、カーソルがtrackingRect(例えば)NSTextViewに入っても変更されません。

これは可能ですか?


PS:通常の動作に戻す必要もあります。

+0

スイッチを要求している場合は、特定のカーソルを任意のビューに表示させるためにオンとオフを切り替えることができますが、これは存在しません。各ビューをサブクラス化し、適切なメソッドをオーバーライドする必要があります。 – rocky

+0

ああ...どのように私はビューのセットのカーソルの変更を無効にすることができますか? (NSTextView、PDFViewなど)サブクラス化せずに達成可能だと思いますか? – Colas

答えて

1

はいこれが可能です。

ウィンドウを作成するときは、ウィンドウと同じframeの透明なビューを作成します。その後、特定のカーソルのビュー(後者のboundsまで拡張)にカーソルを追加します。最後に、ウィンドウのcontentViewの最後のサブビューとして追加すると、オーバーレイとして機能します。このオーバーレイが存在する場合、下にあるビューのカーソル矩形はアクティブ化されません。

は(読みウィンドウのcontentView代わりWebView)の詳細な手順や作業コードのためhttps://stackoverflow.com/a/43886799/7908996を参照してください。また、通常の動作に戻す方法についても説明します。

希望に役立ちます! :)

関連する問題