4

NSButton をサブクラス化し、独自のクラスを作成しました。このクラスでは、マウス ポインターがボタンの上に来たときにハンド カーソルを表示するコードを追加しました。通常のビューに追加されたボタンで機能します。しかし、モデル シート内のボタンに同じクラスを使用すると、カーソルが表示されません。その理由は何ですか?何か案が!

これは、NSButton サブクラスに追加したコードです

- (void)resetCursorRects {
/*
 * change cursor type to a poiting finger when it gets into HyperLink frame.
 */
[super resetCursorRects];
[self addCursorRect:[self bounds] cursor:[NSCursor pointingHandCursor]];

}

4

2 に答える 2

2

Interface Builder で、シートのウィンドウ/パネルがTitle Barチェックされていることを確認します。

シートなのでタイトル バーは実際には表示されませんが、このプロパティがオフの場合、何らかの理由でカーソル トラッキングが無効になっているようです。

于 2013-08-31T17:59:02.903 に答える
-1

サブクラス化のインスタンスは、NSButton の を作成しますCategory。メソッドをオーバーライドします
resetCursorRects(上記と同じ)。

#importコントローラーに新しいカテゴリーを追加して試してみてください。

慣れていない場合は、これCategoryを試してください。

于 2013-03-07T10:41:58.370 に答える