我有一個問題,設置我的子類NSView的背景稱爲TitlebarView
。我想通過colorWithPattternImage
將圖像用作背景,但結果是黑色背景,而不是我將方法作爲參數給出的圖像。設置與圖像的自定義視圖的背景導致在黑色背景
這裏是我的TitlebarView
代碼:
- (id)initWithFrame:(NSRect)frame
{
self = [super initWithFrame:frame];
if (self) {
NSString* pathToTitlebarBGImage = [[NSBundle mainBundle] pathForResource:@"titlebar_bg" ofType:@"png" inDirectory:@"Resources/gui_images"];
NSLog(@"path to titlebar bg image: %@", pathToTitlebarBGImage);
// NSString* pathToTitlebarBGImage = @"Resources/gui_images/titlebar_bg.png";
self.titlebarBGImage = [NSImage imageNamed:pathToTitlebarBGImage];
}
return self;
}
- (void)drawRect:(NSRect)dirtyRect
{
[super drawRect:dirtyRect];
[[NSColor colorWithPatternImage:self.titlebarBGImage] setFill];
// [[NSColor redColor] setFill];
NSRectFill(dirtyRect);
}
titlebarBGImage
是在頭文件中正確設置屬性。
如果我使用redColor
這一行,我會看到紅色的視圖,所以代碼在某種程度上正在工作。對於所有我可以在文檔中找到一個在stackoverflow這應該實際上按預期工作。我在這裏錯過了什麼?
這是孤立我的整體問題的發現問題here
看來,我的圖像沒有正確加載。尺寸是0,0。它在給定的路徑上。有任何想法嗎? – beipawel