bor*_*den 10 cocoa objective-c nscursor
为什么我不能在鼠标拖动期间让光标停留?一旦我开始拖动,它就会恢复为"箭头"(即使我在启动后将其设置为app delegate中的开放手).
- (void)mouseDown:(NSEvent *)event
{
[[NSCursor closedHandCursor] push];
}
- (void)mouseUp:(NSEvent *)event
{
[NSCursor pop];
}
Run Code Online (Sandbox Code Playgroud)
Ben*_*Uri 19
如果您不希望其他视图在拖动时更改光标,则可以在-mouseDown中执行:
[[self window] disableCursorRects];
Run Code Online (Sandbox Code Playgroud)
和in -mouseUp:
[[self window] enableCursorRects];
[[self window] resetCursorRects];
Run Code Online (Sandbox Code Playgroud)
Dmi*_*try 12
尝试使用addCursorRect:cursor:设置光标进行查看.
覆盖resetCursorRects您的视图:
- (void)resetCursorRects
{
[super resetCursorRects];
if(drag) {
[self addCursorRect:self.bounds cursor:[NSCursor closedHandCursor]];
}
}
Run Code Online (Sandbox Code Playgroud)
您需要调用invalidateCursorRectsForView:强制更新光标rects:
[self.window invalidateCursorRectsForView:self];
Run Code Online (Sandbox Code Playgroud)
但是如果你想在你看到的外面有不同的光标,你可以调用[[NSCursor closedHandCursor] set]你的mouseDragged:方法.
| 归档时间: |
|
| 查看次数: |
4371 次 |
| 最近记录: |