- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前正在为 OSX 10.5 及更高版本构建项目。首先,10.6用户看不到这一点;只有 10.5 个用户遇到此问题。您无法在 10.6 上重现此问题。
简而言之:当使用 - (void)mouseUp:(NSEvent *)theEvent 的重载实现放置 NSView 的自定义扩展类时,当 mouseUp 包装在 NSSplitView 中时,不会调用 mouseUp。 rightMouseUp:/Down:可以在扩展的 NSView 上工作。
当我将自定义 View 放置在窗口上时,该事件将被调用,而当我将其直接包装在 nssplitview 中时,leopard (10.5) 用户不会调用 mouseup。
重现步骤(在 10.5 上!)
类(class):
@interface GTTest : NSView {
}
#import "GTTest.h"
@implementation GTTest
- (void)mouseUp:(NSEvent *)theEvent {
NSLog(@"Ger");
}
直接单击窗口上的 GTTest 会记录这一行,单击 NSSplitView 则不会执行任何操作(也可以尝试下一个断点)。 rightMouseDown:/Up: 在 NSView 上有效。
ps> 当我向 splitview 添加一个按钮(也是一个派生的 nsview,带有 nsresponder 对吗?)时,会触发我的 IBAction 方法;我上面的类缺少什么才能正常工作?
我能做什么?
最佳答案
好的,我找到了解决这个问题的方法:
实现 NSSplitView 的扩展类并重写方法,并在拆分器悬停时“冒泡”事件(可通过光标检测到),否则不执行任何操作。这不会导致自定义 View 接收该事件。
- (void)mouseUp:(NSEvent *)theEvent {
if ([NSCursor currentCursor]==[NSCursor resizeLeftCursor]
|| [NSCursor currentCursor]==[NSCursor resizeRightCursor]
|| [NSCursor currentCursor]==[NSCursor resizeLeftRightCursor]) {
[super mouseUp:theEvent];
}
if ([NSCursor currentCursor]==[NSCursor resizeUpCursor]
|| [NSCursor currentCursor]==[NSCursor resizeDownCursor]
|| [NSCursor currentCursor]==[NSCursor resizeUpDownCursor])
{
[super mouseUp:theEvent];
}
}
并使用该类作为 splitview;突然,事件被接收到自定义 NSView。奇怪但真实!
关于cocoa - 无鼠标松开 :/Down: on custom view in NSSplitView on Leopard,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3463270/
对不起: 我只是不知道如何链接这些连续的操作? 鼠标按下然后拖动然后松开。如果用户不执行此操作,则不会发生某些操作... 我是否应该添加代码,因为已经按下了区分它? 常量 MOUSE_MOVED 不起
我正在尝试使用 native javascript - 没有 jQuery,也就是说。捏合和松开但不适用于缩小/放大。它在 iOS 和 android 上使用触摸等很好。但我不知道如何为我的 Mac-
我是一名优秀的程序员,十分优秀!