Cocoa预定义的调整大小鼠标指针?

8
Preview使用的调整大小鼠标指针(例如在调整形状时)是系统指针吗?虽然在NSCursor中没有直接提供此方法,但似乎在Preview应用程序包中也没有私有资源来获取此指针。除了NSCursor类定义的方法之外,还有其他系统指针吗?请参考下图:

enter image description here

1个回答

12

我认为你对这些类方法(Preview.app反汇编)特别感兴趣。

+[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];

还有许多许多 enter image description here


1
大多数上述的光标都有文档记录;在http://developer.apple.com上搜索它们(不包括前导下划线)。其中大部分可以在https://developer.apple.com/library/mac/documentation/Cocoa/Reference/ApplicationKit/Classes/NSCursor_Class/找到。 - geowar
1
https://developer.apple.com/library/mac/documentation/Cocoa/Reference/ApplicationKit/Classes/NSCursor_Class/ - geowar
你说得没错,但问题是关于旋转调整光标的,而我在文档中找不到相关内容。这是更新后的文档链接:https://developer.apple.com/library/mac/documentation/Cocoa/Reference/ApplicationKit/Classes/NSCursor_Class/#//apple_ref/doc/constant_group/AppKit_Versions_for_NSCursor_Bug_Fixes - Marek H
在 Swift 中这个在哪里隐藏了?https://stackoverflow.com/questions/49297201/diagonal-resizing-mouse-pointer - qwerty_so

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接