Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 无法在NSImageView中设置图像_Objective C_Macos_Nsimageview - Fatal编程技术网

Objective c 无法在NSImageView中设置图像

Objective c 无法在NSImageView中设置图像,objective-c,macos,nsimageview,Objective C,Macos,Nsimageview,我有一个小程序,可以在图像井中显示图像。我一直在测试,但屏幕上什么也没有显示。感谢任何一个能帮上忙的人 .h文件: #import <Cocoa/Cocoa.h> @interface TestAppDelegate : NSObject <NSApplicationDelegate> { IBOutlet NSImageView *myImageView; } @property (assign) IBOutlet NSWindow *window; @prop

我有一个小程序,可以在图像井中显示图像。我一直在测试,但屏幕上什么也没有显示。感谢任何一个能帮上忙的人

.h文件:

#import <Cocoa/Cocoa.h>
@interface TestAppDelegate : NSObject <NSApplicationDelegate>
{
    IBOutlet NSImageView *myImageView;
}
@property (assign) IBOutlet NSWindow *window;
@property (assign) IBOutlet NSImageView *myImageView;
@end

您必须使用UIImageView代替NSImageView。

替换

NSImage * aImage = [NSImage imageNamed:filePath]


可能是在应用程序包中找不到png文件。但令人困惑的是,NSlog函数的NSLogaImage.name和NSLog@size%f%f,目标。大小。宽度,目标。大小。高度。 他们在工作和反馈

下面是我如何添加png图像的。我创建了一个名为“资源”的新组文件夹,然后右键单击并添加了准备好的照片。我不确定我在这里是否做错了什么


我终于明白了。只是简单地在“myImageView set Image:aImage”前面添加了一个“self”。类似于[self.myImageView setImage:aImage]

我也遇到了类似的问题,我在Assets.xcsets文件夹中添加了一个图像,但该图像不会出现。这是一个格式问题,我指定box.png作为图像导出为png图像。然而,无论出于什么原因,我的Mac应用程序都无法识别它。因此,我从字符串名称中删除了.png:

[NSImage imageNamed:@"box"]
由于某种原因,我制作的图像没有被识别为PNG图像。但这并不重要,因为根据,您不需要为PNG图像指定文件格式:

对于PNG图像,可以省略文件扩展名。对于所有其他 文件格式,始终包括文件扩展名


这类问题几乎总是与IBOutlet连接未连接有关。当您查看头文件中的IOOutlet时,左页边距中是否填充了圆圈?或者,项目中可能没有正确设置image haha.png。将else子句添加到带有NSLog@Image未设置!;。检查inspector Panel中图像的目标成员身份是,IBOutlet圈已填充,NSLogs中的Img名称和大小反馈正确。我会查一下img的会员资格。你怎么知道的?他没有说明操作系统,是吗?事实上,他包括在内,所以他肯定在使用OSX!你说得对,伙计。当然是osx..但是有人能找出奇怪的问题在哪里吗?THX这有什么区别吗?@trojanfoe:imageNamed不接受图像文件的完整路径。它只接受一个文件名,然后在应用程序的主捆绑包中查找具有该文件名的图像。另一方面,imageWithContentsOfFile需要文件的完整或部分路径。因此我猜ImageName:在这里更合适,文件路径为@haha.png…因此可能在应用程序包中找不到图像文件
NSImage * aImage = [[NSImage alloc] initWithContentsOfFile:filePath];
[NSImage imageNamed:@"box"]