2010-02-25 65 views
0

我有一個自定義窗口(matt gemells透明窗口類),我需要更改窗口的alpha值以實現淡入/淡出效果並執行「makeKeyAndOrderFront:」。自定義NSWindow setAlphaValue和makeKeyAndOrderFront

但是這不起作用。

我做了什麼:

我進口頭:

#import "TransparentWindow.h" 

然後嘗試:

[TransparentWindow setAlphaValue:0.5]; 

[TransparentWindow makeKeyAndOrderFront:self]; 

這給了我一個警告, 「透明窗口」 可以不對其進行迴應上面的代碼。所以,我試圖通過增加實施「setAlphaValue」到透明視窗:

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

但2個警告不會消失。我怎樣才能解決這個問題?

回答

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

這給了我一個警告,「透明窗口」可能不要麼上面的代碼的迴應。

這是因爲它(TransparentWindow類)沒有。

您需要將這些消息發送到TransparentWindow實例,而不是TransparentWindow類。

所以我試圖通過增加實施「setAlphaValue」到透明視窗:

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

如果NSWindow方法已不存在,在子類中不會解決,從一個方法調用它問題。