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