我正在寻找一个完美的解决方案来为cocoa应用程序中的窗口设置背景图像。我还没有找到解决方案,我是目标c的新手,所以请任何人帮助我......
答案 0 :(得分:5)
Cocoa中的窗口有一个称为“内容视图”的根级视图。这是包含窗口中所有其他视图的视图。默认情况下,它只是一个简单的空白NSView
。但您可以轻松创建自己的自定义NSView
子类,覆盖drawRect:
方法以绘制背景图像,并将其用于自定义视图。
但是,使用普通的NSImageView
可能更容易。这样做的好处是,您可以设置自动调整行为以将图像固定到一个角落(通过调整安装程序窗口的大小来尝试使用Installer.app)。你也可以使它半透明,以便背景显示一点。 (再一次,我在考虑Installer.app;你的应用程序可能完全不同)
希望能让你朝着正确的方向前进!
答案 1 :(得分:3)
Michael Vannorsdel建议为此目的对NSView
进行子类化,并引用:
你真的会更好 NSView子类并让它绘制 你想要的图像是drawRect:。
- (void)awakeFromNib
{
myImage = [[NSImage alloc] init....
[self setNeedsDisplay:YES];
}
- (void)drawRect:(NSRect)rect
{
NSSize isize = [myImage size];
[myImage drawInRect:[self bounds] fromRect:NSMakeRect(0.0, 0.0,
isize.width, isize.height) operation: NSCompositeCopy fraction:1.0];
}
在cocoabuilder上阅读整个帖子,这非常有启发性。