我有一个自定义窗口(matt gemells透明窗口类),我需要更改窗口的alpha值以实现淡入/淡出效果并执行“ makeKeyAndOrderFront:”。
但是,这不起作用。
我做了什么:
我导入了标头:
#import "TransparentWindow.h"
然后尝试:
[TransparentWindow setAlphaValue:0.5];
[TransparentWindow makeKeyAndOrderFront:self];
这给了我一个警告,“透明窗口”可能不响应以上任何一个代码。因此,我尝试通过添加以下内容来在透明窗口中实现“ setAlphaValue”:
- (void)setAlphaValue:(CGFloat)windowAlpha
{
[super setAlphaValue:windowAlpha];
}
但2条警告不会消失。我怎样才能解决这个问题?
最佳答案
[TransparentWindow setAlphaValue:0.5];
[TransparentWindow makeKeyAndOrderFront:self];
这给了我一个警告,“透明窗口”可能不响应以上任何一个代码。
那是因为它(TransparentWindow类)没有。
您需要将这些消息发送到TransparentWindow实例,而不是发送到TransparentWindow类。
因此,我尝试通过添加以下内容来在透明窗口中实现“ setAlphaValue”:
- (void)setAlphaValue:(CGFloat)windowAlpha
{
[super setAlphaValue:windowAlpha];
}
如果此NSWindow方法不存在,则从子类中的方法调用它不会解决该问题。