0

我有一个自定义窗口(matt gemells 透明窗口类),我需要更改窗口的 alpha 值以实现淡入/淡出效果并执行“makeKeyAndOrderFront:”。

但是,这不起作用。

我做了什么:

我导入了标题:

#import "TransparentWindow.h"

然后尝试:

[TransparentWindow setAlphaValue:0.5];

[TransparentWindow makeKeyAndOrderFront:self];

这给了我一个警告,“透明窗口”可能不会响应上述任何一个代码。所以我试图通过添加将“setAlphaValue”实现到透明窗口中:

- (void)setAlphaValue:(CGFloat)windowAlpha
{
    [super setAlphaValue:windowAlpha];   
}

但 2 个警告不会消失。我怎样才能解决这个问题?

4

1 回答 1

1
[TransparentWindow setAlphaValue:0.5];
[TransparentWindow makeKeyAndOrderFront:self];

这给了我一个警告,“透明窗口”可能不会响应上述任何一个代码。

那是因为它(TransparentWindow 类)没有。

您需要将这些消息发送到一个透明窗口实例,而不是透明窗口类。

所以我试图通过添加将“setAlphaValue”实现到透明窗口中:

- (void)setAlphaValue:(CGFloat)windowAlpha
{
    [super setAlphaValue:windowAlpha];   
}

如果这个 NSWindow 方法不存在,从子类中的方法调用它并不能解决这个问题。

于 2010-02-26T15:34:44.130 回答