NSTextField
ハイパーリンクをエミュレートするカスタムの基本的なCocoaアプリがあります。
次のコードを使用して、テキストフィールドの実装にカスタムカーソルを設定します。
- (void) resetCursorRects {
[self addCursorRect: self.bounds cursor: [NSCursor pointingHandCursor]];
}
mouseUp:
また、ラベルがクリックされたときに上書きしてアクションを実行します。私の場合、を介してURLを開いていますNSWorkspace
。
問題:ブラウザを開くと、「ポインティングハンド」カーソルが通常の矢印カーソルにリセットされます(一番上のウィンドウがSafariになっているため)。ただし、アプリに戻ってカスタムハイパーリンクラベルの上にカーソルを移動しても、カーソルは「ポインティングハンド」に変わりません。
ウィンドウのサイズを変更した後(およびカーソルの長方形がリセットされた後)にのみ、カーソルが再び機能します。
呼び出しでカーソルrectを無効にしようとしましたmouseUp:
が、機能しませんでした。