- (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事件所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)