1

ビュー上を通過するときにカーソルを変更しようとしていますが、機能していないため、正しくコーディングされていないと思います。

私はappcontrollerクラスを持っており、その.mファイルにこれがあります

- (void) awakeFromNib { 

      //set up the cursors
      NSCursor * handCursor = [NSCursor closedHandCursor];

      //make a box
      Box* newBox = [[Box alloc] initWithFrame:NSMakeRect(10.0, 10.0, 100.0, 100.0)];
      //set up the rect for the cursor change
      NSRect rectForCursor = [newBox frame];
      [newBox addCursorRect:rectForCursor cursor:handCursor];
      //add box to main win
      [[mainWin contentView] addSubview:newBox];
}
4

2 に答える 2

6

addCursorRectの呼び出し:awakeFromNib内からは機能しません。これは、resetCursorRects:のオーバーライド内から呼び出す必要があります。これは、おそらくある時点で呼び出され、セットアップのrectを破壊します。

于 2011-10-26T13:38:04.443 に答える
1

を呼び出すのを忘れました[handCursor setOnMouseEntered:YES]。それ以外の場合は、送信されNSCursorたイベントを無視します。mouseEntered:

于 2011-09-21T18:14:25.007 に答える