- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想更改 cocoa 应用程序中的光标。我按照 this answer 中的示例进行操作,成功了。
我有一个 NSView
,我们称之为 NSViewA
,位于另一个 NSView
NSViewB
后面。 NSViewA
包含一个子类 NSButton
,其中光标已更改。 NSViewA
和 NSViewB
具有相同的 super View 。所以像这样:
- NSWindow
- NSViewA
- NSButtonSubclass
- NSViewB
我的问题是,当显示 NSViewB
时,光标位于 NSViewB
之上,但与 NSButton
的 x y 坐标相同在 NSViewB
后面,光标更改为 NSButton
子类中指定的光标。
如何阻止这种行为?
这种布局的原因是我正在创建一个“灯箱”控件。如果您认为 NSWindow 会变灰,并且出现一个显示错误消息的居中框。诸如此类的事情。
我以前遇到过一个问题,您仍然可以单击 NSViewB
后面的按钮等。通过抑制 mouseDown:
和 mouseUp:
解决了这个问题。我尝试对其他与鼠标相关的事件执行类似的操作,例如 mouseEntered:
和 mouseExited:
但没有成功。
最佳答案
您能否根据按钮的启用
状态来添加自定义光标矩形?换句话说,您的 resetCursorRects
看起来像这样:
// MyButton.swift
override func resetCursorRects() {
if enabled {
addCursorRect(bounds, cursor: NSCursor.pointingHandCursor())
}
}
每当 viewB
即将显示时,禁用该按钮,并调用使属于按钮的矩形无效。如果您使用 Swift,则可以在附加到 enabled
属性本身的属性观察器中执行第二位操作:
// MyButton.swift
override var enabled: Bool {
didSet {
window!.invalidateCursorRectsForView(self)
}
}
如果您不希望按钮呈现禁用外观,请根据其他标志进行addCursorRect
调用。
关于cocoa - 源自背景 NSView 的错误 NSCursor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36360102/
我正在开发具有多个窗口和 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 将光标更改为自定义光标。 因此,当鼠标进入顶部跟踪区域并且
我是一名优秀的程序员,十分优秀!