- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Xcode(使用 cocos2d)开发 Mac 应用程序,尝试配置光标,但“set”方法在某些情况下似乎没有任何效果......
我已经很难在应用程序启动时设置我的光标(NSTimer 在应用程序真正启动后设置它),现在我只希望它在用户单击时显示另一个图像;我为此使用 NSNotification,我的游标类收到通知,然后它应该设置新图像,然后......什么都没有。
下面是一些可能有用的代码:
-(void) click
{
CCLOG(@"Click");
NSString *path = [[NSBundle mainBundle] pathForResource:@"point_pressed" ofType:@"png"];
NSImage *cursorImage = [[[NSImage alloc] initByReferencingFile:path] autorelease];
NSCursor *cursor = [[NSCursor alloc] initWithImage:cursorImage hotSpot:[[NSCursor currentCursor] hotSpot]];
[cursor set];
}
在初始化中:
[NSTimer scheduledTimerWithTimeInterval:0.1f target:self selector:@selector(updateCursor:) userInfo:nil repeats:NO];
方法:
-(void) updateCursor:(id)sender
{
CCLOG(@"Update cursor");
[[self.cursorsDict objectForKey:@"point"] set];
}
当应用程序激活时,“updateCursor”方法也会被调用,然后它工作正常,显示正确的光标。
我尝试了很多东西,pop 和 push 方法,“setOnMouseEnter”(虽然我还没有使用 rect),但没有结果......
有人知道这件事吗?
编辑:
陌生人,我写了appWake方法:
-(void) appWake
{
int i = rand()%3;
if(i==0)
[[self.cursorsDict objectForKey:@"point"] set];
else if(i==1)
[[self.cursorsDict objectForKey:@"point_pressed"] set];
else if(i==2)
[[self.cursorsDict objectForKey:@"open"] set];
self.state = ECursorState_Point;
[NSTimer scheduledTimerWithTimeInterval:0.5f target:self selector:@selector(appWake) userInfo:nil repeats:NO];
}
通知调用:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(appWake) name:EVENT_APPLICATION_DID_BECOME_ACTIVE object:nil];
通过以下方式在 appDelegate 中设置:
-(void) applicationDidBecomeActive:(NSNotification *)notification
{
[[NSNotificationCenter defaultCenter] postNotificationName:EVENT_APPLICATION_DID_BECOME_ACTIVE object:nil];
}
当它被这个通知调用时,它工作正常,光标随机变化;但是如果我删除 applicationDidBecomeActive 中的通知并在我的代码中的其他地方调用它,那么它不会做任何事情(尽管我检查过它被调用)...
最佳答案
我从系统事件更改光标的工作解决方案是像这样将光标集包装在异步中:
DispatchQueue.main.async {
self.customCursor.set()
}
( swift 3)
关于xcode - NSCursor: "set"方法无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8430236/
我正在开发具有多个窗口和 View 的应用程序( NSTextView 等)。 我想在我的应用程序中全局更改光标,这样即使光标进入 trackingRect (例如)NSTextView它不会改变。
我正在使用 Xcode(使用 cocos2d)开发 Mac 应用程序,尝试配置光标,但“set”方法在某些情况下似乎没有任何效果...... 我已经很难在应用程序启动时设置我的光标(NSTimer 在
我有一个基本的 Cocoa 应用程序,带有一个模拟超链接的自定义 NSTextField。 我使用以下代码在文本字段实现中设置自定义光标: - (void) resetCursorRects {
我正在尝试使用 nscursor 在游戏中使用自定义光标。我使用以下代码 //While initializing openglview mCustomCursor = [[NSCursor
我已经从 NSCursor crosshairCursor 获得了十字光标。那我该如何改变 到它。我不想调用 enclusionScrollView 来 setDocumentCursor [[vie
我正在尝试修改默认的工字形光标图像。我正在使用 [[[NSCursor IBeamCursor] image] 表示],将每个表示通过 CIFilter 并将其添加到新图像中。但是,生成的光标看起来好
在我的 macOS 应用程序中,我有一个自定义 WebView。当用户将鼠标光标移动到 WebView 网页中的不同元素(如文本、链接等)(我认为它们是作为 subview 实现的)上时,光标会根据元
我编写了一个 Cocoa 程序来在按下按钮后更改光标。具体地,光标包括图像而不是指针。我使用以下命令设置它: NSImage *tmpImage = [NSImage imageNamed:@"poi
我在尝试阻止光标更改时遇到问题。我尝试在整个窗口上放置一个叠加 View ,但是,如果在该叠加层下存在一个 NSTextView,这将强制更改光标。我想防止这种情况发生,并保持箭头光标直到我的叠加 V
编辑:我在 GitHub 上创建了一个小型 XCode 项目,它复制了我正在描述的问题:https://github.com/mdinacci/testnscursor 我有一个自定义的 NSTabl
我想更改 cocoa 应用程序中的光标。我按照 this answer 中的示例进行操作,成功了。 我有一个 NSView,我们称之为 NSViewA,位于另一个 NSView NSViewB 后面。
我试图在鼠标移到 PDFView 上时设置光标。我已经覆盖了 (void)resetCursorRects 但它仅在指针位于 View 边缘和 pdf 内容之间时更改光标,然后 PDFView 在内容
我正在开发一个具有自定义 View 的应用程序,用户可以在 View 中移动对象。他们可以捡起它们并将它们放在不同的地方,我想根据他们可以捡起的对象以及可以放置它们的位置来更改光标。 我正在使用tra
在 OSX 中,用户可以使用辅助功能系统首选项来缩放鼠标光标。因为 Lion(我认为)OSX 将光标存储为 PDF,并且能够平滑地调整它们的大小。我希望我的应用程序具有相同的功能,但使用 PDF 作为
我将 NSTrackingArea 添加到我的 View 中以捕获 mouseEntered/mouseExited 事件。有用。然后,当捕获到 mouseEntered 事件时,我会执行 [self
为什么我不能让光标在鼠标拖动期间保持不动?一旦我开始拖动,它就会恢复为“箭头”(即使我在启动后在应用程序委托(delegate)中将其设置为张开的手)。 - (void)mouseDown:(NSEv
我正在开发一个应用程序,该应用程序有一个带有全尺寸 NSOpenGLView 的窗口。我使用 [view addCursorRect] 和 [cursor set] 来显示自定义光标,但是当我按键盘上
我有一个带有自定义光标的应用程序,它是我使用 NSCursor 的自定义包装器实现的(大部分主要代码设计为操作系统可移植,因此在上面我假装 NSCursor 是 Windows 样式的光标)。当用户
发现了一个与我类似的问题(this) ,但我的问题似乎与 View 层次结构有关。 我有一个 NSTextView,然后作为兄弟 View ,在它上面有几个其他 NSView。 与上面链接的问题类似,
我正在使用NSTrackingArea在 NSView 中定义 2 个区域子类。然后我使用 mouseEntered/mouseExited 将光标更改为自定义光标。 因此,当鼠标进入顶部跟踪区域并且
我是一名优秀的程序员,十分优秀!