0

私はココアがNSGradient初めてで、NSWindow背景に設定しようとしていますが、私には難しすぎます...このコードを試しました

NSGradient *gradient = [[NSGradient alloc] initWithStartingColor:[NSColor orangeColor] endingColor:[NSColor lightGrayColor]];
NSRect windowFrame = [self frame];
[gradient drawInRect:windowFrame angle:90];

しかし、それは機能していません....に設定NSGradientする他の方法NSWindow....

4

1 に答える 1

4

NSWindowのビューをサブクラス化することでそれを行うことができます。

新しいウィンドウ ビューのクラスを作成します (たとえば、タイトル WindowViewSubclass を使用)。

次に、.hファイルは次のようになります。

#import <Cocoa/Cocoa.h>

@interface WindowViewSubclass : NSView {

}

@end

および.mファイル:

#import "WindowViewSubclass.h"

@implementation WindowViewSubclass

- (void)drawRect:(NSRect)dirtyRect
{
    NSGradient *gradient = [[NSGradient alloc] initWithStartingColor:[NSColor orangeColor] endingColor:[NSColor lightGrayColor]];
    NSRect windowFrame = [self frame];
    [gradient drawInRect:windowFrame angle:90];
}

@end

ウィンドウのビューを選択し、Identity Inspectory -> Custom Class -> に移動して、次のようにクラスを選択します。

スクリーンショット

結果:

結果イメージ

于 2012-08-11T14:59:30.343 に答える