1
刚刚开始探索可可,所以几乎总是noob。可可按钮不会显示图像
我写了一个非常简单的游戏。在Interface Builder中进行设置,并使其正常工作。
它包含一些按钮,我现在试图让按钮来显示图像。
首先,我试图在一个叫做tile0的按钮上显示图像。
图像文件(现在只是一个绿色的方块,但我只是试图在我尝试任何更奇特的事情之前做好工作)与控制游戏的类文件坐在同一目录中。
我有下面的代码坐在我wakeFromNib方法:
NSString *myImageFileName = [[NSString alloc] init];
myImageFileName = @"greenImage.jpg";
NSImage *myImage = [[NSImage alloc] initByReferencingFile:myImageFileName];
[tile0 setImage: myImage];
麻烦的是,游戏运行良好,但图像不会出现在我的按钮。
有人可以好心告诉我,我是否做了明显错误的事情?
很多谢谢。
如果您确实使用了imageNamed :,则需要将该图像放入应用程序的Resources目录中。您不能只将图像放在源代码旁边,并期望二进制文件找到它。 – JWWalker 2010-06-16 17:43:08
非常好。 imageNamed工作正常。 非常感谢您的帮助。非常感激。 我有书,我尽可能多地使用文档,但有时会问别人是唯一要做的事情:-) – 2010-06-17 06:38:30
“initByReferencingFile:”不起作用的原因是'initByReferencingFile:',就像它的堂兄'initWithContentsOfFile:',取一个路径名。你传递了一个文件名,它作为一个相对路径,但这不起作用,因为当前工作目录中没有这样的文件(默认是文件系统的根目录,也就是没有/greenImage.jpg )。因为(a)它特别想要一个文件名(有或没有扩展名),并且(b)它在加载的包的资源目录中查找具有该名称的文件,而不是当前的工作目录。 – 2010-06-17 08:38:53