一个窗口的背景图象在可可粉框架

时间:2009-06-08 15:47:42

标签: objective-c cocoa

我正在寻找一个完美的解决方案来为cocoa应用程序中的窗口设置背景图像。我还没有找到解决方案,我是目标c的新手,所以请任何人帮助我......

2 个答案:

答案 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上阅读整个帖子,这非常有启发性。