NSImagecolorWithPatternImage
メソッドは、画像を下から並べて表示します。代わりに上から並べて表示できますか?
+ (NSColor *)colorWithPatternImage:(NSImage *)image Parameters image
カラーオブジェクトのパターンとして使用する画像。画像はウィンドウの下部から並べて表示されます。画像は拡大縮小されていません。
これは、アプリのNSScrollView内のビューであるIKImageBrowserViewのサブクラスのコードです。
- (void)drawRect:(NSRect)rect
{
NSImage * backgroundImage = [NSImage imageNamed:@"deliciousLibrary.png"];
[backgroundImage setSize:NSMakeSize(459 * bgImageSize, 91 * bgImageSize)];
[[NSColor colorWithPatternImage:backgroundImage] set];
NSRectFill(rect);
[super drawRect:rect];
}
ありがとう
更新:私はインターネット上でこの解決策を見つけました。しかし、私の場合、NSScrollViewで画像がスクロールしなくなったため、機能しません。
- (void)drawRect:(NSRect)dirtyRect {
NSGraphicsContext* theContext = [NSGraphicsContext currentContext];
[theContext saveGraphicsState];
[[NSGraphicsContext currentContext] setPatternPhase:NSMakePoint(0,[self frame].size.height)];
[self.customBackgroundColour set];
NSRectFill([self bounds]);
[theContext restoreGraphicsState];
}