objective-c – 淡入淡出MAAttachedWindow

objective-c – 淡入淡出MAAttachedWindow,第1张

概述我正在使用Matt Gemmell的MAAttachedWindow( http://mattgemmell.com/source)和NSStatusItem在菜单栏中显示自定义视图.我很困惑如何让它淡入淡出.通常我会做这样的事情: [window makeKeyAndOrderFront:self];[[window animator] setAlphaValue:1.0]; 并淡出: [[w 我正在使用Matt Gemmell的MAAttacheDWindow( http://mattgemmell.com/source)和NsstatusItem在菜单栏中显示自定义视图.我很困惑如何让它淡入淡出.通常我会做这样的事情:
[window makeKeyAndOrderFront:self];[[window animator] setAlphaValue:1.0];

并淡出:

[[window animator] setAlphaValue:0.0];

但是这个代码似乎对MAAttacheDWindow没有影响.有任何想法吗?

谢谢

解决方法 我不是特别精通CoreAnimation和隐式动画的使用.但是,我能够通过向MAAttacheDWindow类添加一个显式的AlphaValue属性来使MAAttacheDWindow淡入淡出:
@interface MAAttacheDWindow : NSWindow {    CGfloat _AlphaValue;...}-(CGfloat) AlphaValue;-(voID) setAlphaValue:(CGfloat)windowAlpha;...@implementation MAAttacheDWindow- (CGfloat) AlphaValue { return _AlphaValue;}- (voID) setAlphaValue:(CGfloat)windowAlpha {    _Alpha = windowAlpha; [super setAlphaValue:windowAlpha];}...

通过添加,我能够获得setAlphaValue的隐式动画:

(下面的代码来自Matt的样本“NsstatusItemTest”代码)

- (voID)toggleAttacheDWindowAtPoint:(NSPoint)pt{...    [attacheDWindow makeKeyAndOrderFront:self]; [[attacheDWindow animator] setAlphaValue:1.0];

我不确定为什么显式定义AlphaValue属性有效.我希望可以为隐式动画调用NSWindow的继承版本.但它似乎并不存在.

总结

以上是内存溢出为你收集整理的objective-c – 淡入/淡出MAAttachedWindow全部内容,希望文章能够帮你解决objective-c – 淡入/淡出MAAttachedWindow所遇到的程序开发问题。

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

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

原文地址: http://outofmemory.cn/langs/1241870.html

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

发表评论

登录后才能评论

评论列表(0条)

保存