objective-c – 如何在NSButton上检测鼠标悬停. Obj-C,可可

objective-c – 如何在NSButton上检测鼠标悬停. Obj-C,可可,第1张

概述我有一个Mac应用程序,在窗口的每个底角有两个NSButton.我在.xib中设置了Alpha = .5.我想知道如何检测鼠标悬停在按钮上并将alpha更改为.9.我该怎么做呢?我想从你的代码中你需要知道的就是.h. @property (unsafe_unretained) IBOutlet NSButton *leftButton;@property (unsafe_unretained) 我有一个Mac应用程序,在窗口的每个底角有两个NSbutton.我在.xib中设置了Alpha = .5.我想知道如何检测鼠标悬停在按钮上并将Alpha更改为.9.我该怎么做呢?我想从你的代码中你需要知道的就是.h.

@property (unsafe_unretained) IBOutlet NSbutton *leftbutton;@property (unsafe_unretained) IBOutlet NSbutton *rightbutton;

那些是在我的.m中合成的.部署目标是OS X 10.6.谢谢.

编辑

我真的没有尝试过任何东西.我在NSTrackingArea上看过一些东西,但对如何使用它并不积极,更重要的是,我想知道是否还有其他方法可以解决它.例如已经调用的事件或其他事件.

解决方法 您需要对NSbutton类进行子类化(甚至更好的是NSbuttonCell类).

- (voID)mouseEntered:(NSEvent *)theEvent;- (voID)mouseExited:(NSEvent *)theEvent;

当鼠标进入和退出该区域时,应该调用它们.您可能还需要重新创建跟踪区域,请在此处查看:

- (voID)updateTrackingAreas

对于淡入和淡出效果,我使用动画师和Alpha值进行播放,例如:

[[self animator]setAlphaValue:0.9];

编辑:这仅供参考,以便您可以采取一些想法

@interface Mybutton : NSbutton {- (voID)mouseEntered:(NSEvent *)theEvent;- (voID)mouseExited:(NSEvent *)theEvent;     - (voID)updateTrackingAreas;@end
@H_301_49@ 总结

以上是内存溢出为你收集整理的objective-c – 如何在NSButton上检测鼠标悬停. Obj-C,可可全部内容,希望文章能够帮你解决objective-c – 如何在NSButton上检测鼠标悬停. Obj-C,可可所遇到的程序开发问题。

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存