objective-c – mouseEntered和mouseExited不在NSImageView SubClass中调用

objective-c – mouseEntered和mouseExited不在NSImageView SubClass中调用,第1张

概述我创建了NSImageView的子类来捕获mouseEntered和mouseExited事件。 但是只有mouseUp和mouseDown事件被调用。如何捕获NSImageView子类中的mouseEntered和mouseExited事件? 如果要使用mouseEntered:和mouseExited:您需要使用NSTrackingArea。这里是参考 NSTrackingArea Class 我创建了NSImageVIEw的子类来捕获mouseEntered和mouseExited事件。
但是只有mouseUp和mouseDown事件被调用。如何捕获NSImageVIEw子类中的mouseEntered和mouseExited事件?解决方法 如果要使用mouseEntered:和mouseExited:您需要使用NSTrackingArea。这里是参考 NSTrackingArea Class Reference。

例:

//Add this to Your imageVIEw subclass-(voID)mouseEntered:(NSEvent *)theEvent {    NSLog(@"Mouse entered");}-(voID)mouseExited:(NSEvent *)theEvent{    NSLog(@"Mouse exited");}-(voID)updateTrackingAreas{     if(trackingArea != nil) {        [self removeTrackingArea:trackingArea];        [trackingArea release];    }    int opts = (NSTrackingMouseEnteredAndExited | NSTrackingActiveAlways);    trackingArea = [ [NSTrackingArea alloc] initWithRect:[self bounds]                                                 options:opts                                                   owner:self                                                userInfo:nil];    [self addTrackingArea:trackingArea];}
总结

以上是内存溢出为你收集整理的objective-c – mouseEntered和mouseExited不在NSImageView SubClass中调用全部内容,希望文章能够帮你解决objective-c – mouseEntered和mouseExited不在NSImageView SubClass中调用所遇到的程序开发问题。

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

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

原文地址: http://outofmemory.cn/web/1041029.html

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

发表评论

登录后才能评论

评论列表(0条)

保存