Objective-C中的Mouse Down事件

Objective-C中的Mouse Down事件,第1张

概述我知道这个问题之前已被问过很多,但没有什么能对我有用.以下代码根本不会做任何事情. - (void) mouseDown:(NSEvent*)event { NSLog(@"It worked!");} 我尝试了很多不同的方法来实现这一点,包括以这种方式创建自定义NSEvents: NSEvent *someEvent;- (void) mouseDown:(NSEvent*)so 我知道这个问题之前已被问过很多,但没有什么能对我有用.以下代码根本不会做任何事情.

- (voID) mouseDown:(NSEvent*)event {    NSLog(@"It worked!");}

我尝试了很多不同的方法来实现这一点,包括以这种方式创建自定义NSEvents:

NSEvent *someEvent;- (voID) mouseDown:(NSEvent*)someEvent {    NSLog(@"It worked!");}

这是我的.h文件:

@interface test : NSWindow <NSWindowDelegate> {}

有人会解释如何做这件事吗?

解决方法 确保您的类继承自NSWindow并符合< NSWindowDelegate>协议.否则,这只是一个恰好被命名为mouseDown的方法,没有人会调用它.

更新:更改您的头文件,使其如下所示:

@interface test : NSWindow <NSWindowDelegate> {  }

换句话说,不要将mouseDown的原型放在接口定义中,也不要放在.h文件中的任何其他位置.

在您的实现文件(.m)中只放置方法:

- (voID) mouseDown:(NSEvent*)someEvent {             NSLog(@"It worked!");          }

假设您已在设备中打开日志记录(您确定可以从程序中的其他位置读取NSLog输出吗?),您应该看到“它工作正常!”印在那里.

我无论如何都不是obj-C专家,但我认为通过将mouseDown原型放在接口定义中,你基本上就是创建了自己的自定义mouseDown方法,它隐藏了“真正的”方法.这向编译器表明它不应该在窗口单击时调用mouseDown方法.

总结

以上是内存溢出为你收集整理的Objective-C中的Mouse Down事件全部内容,希望文章能够帮你解决Objective-C中的Mouse Down事件所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1071131.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存