7

预览使用的调整大小鼠标光标(例如调整形状大小时)是系统光标吗?

在此处输入图像描述

它不能直接作为一种方法使用,NSCursor但看起来预览应用程序包中的光标也没有私有资源。

NSCursor除了类定义的方法之外,还有更多的系统游标吗?

4

1 回答 1

11

我认为您对这些类方法(Preview.app dissasembly)特别感兴趣。

+[NSCursor resizeAngle45Cursor]; which calls +[NSCursor _windowResizeNorthEastSouthWestCursor];
+[NSCursor resizeAngle135Cursor]; which calls +[NSCursor _windowResizeNorthWestSouthEastCursor];

根据 AppKit 的反汇编,这些是 NSCursor 的私有方法。

您可以在您的代码中尝试它,例如

 (void)mouseDown:(NSEvent *)theEvent
{
  [[self window] disableCursorRects];

  id cursor = [[NSCursor class] performSelector:@selector(_windowResizeNorthEastSouthWestCursor)];
  [cursor push];
}

还有更多未记录的游标,例如

+[NSCursor _helpCursor];
+[NSCursor _zoomInCursor];
+[NSCursor _zoomOutCursor];

还有更多 在此处输入图像描述

于 2014-12-04T13:02:47.863 回答