私は特によくCoreAnimationと暗黙的なアニメーションの使用に精通していませんよ。
を:setAlphaValueが動作するために、私は暗黙のアニメーションを取得することができたことを追加することで
@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];
}
...
:しかし、私はMAAttachedWindowクラスに明示的なalphaValueプロパティを追加することにより、フェードインするMAAttachedWindowを取得することができました
(コードの下にマットのサンプル「NSStatusItemTest」コードからcribbed)
- (void)toggleAttachedWindowAtPoint:(NSPoint)pt
{
...
[attachedWindow makeKeyAndOrderFront:self];
[[attachedWindow animator] setAlphaValue:1.0];
明示的alphaValueプロパティの作品を定義する理由は、私はわかりません。 NSWindowの継承バージョンが暗黙のアニメーションのために呼び出されると私は期待しています。しかし、それは現れない。
多くのおかげで:-)試してみます – indragie
完全に動作します。もう一度ありがとう – indragie