我有一小段程序可以在Image-well中显示图像。我正在测试,但屏幕上没有显示任何内容。感谢任何人可以帮助。
.h文件:
#import <Cocoa/Cocoa.h>
@interface TestAppDelegate : NSObject <NSApplicationDelegate>
{
IBOutlet NSImageView *myImageView;
}
@property (assign) IBOutlet NSWindow *window;
@property (assign) IBOutlet NSImageView *myImageView;
@end
.m文件:
#import "TestAppDelegate.h"
@implementation TestAppDelegate
- (void)dealloc
{
[super dealloc];
}
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
NSString * filePath = @"haha.png"; // the pic file that I added into the project
NSImage * aImage = [NSImage imageNamed:filePath];
if(aImage)
{
NSLog(aImage.name);
NSLog(@"size %f %f",aImage.size.width,aImage.size.height);
//both of the NSLogs work but the Image-well shows blank
[myImageView setImage:aImage];
}
}
@end
答案 0 :(得分:2)
替换
NSImage * aImage = [NSImage imageNamed:filePath]
到
NSImage * aImage = [[NSImage alloc] initWithContentsOfFile:filePath];
答案 1 :(得分:0)
可能是应用程序包中找不到png文件。但令人困惑的是,两个NSlog函数('NSLog(aImage.name)和NSLog(@“size%f%f”,aImage.size.width,aImage.size.height)')。 正在努力和反馈。
以下是我添加png图片的方法。我创建了一个名为“资源”的新组文件夹,然后右键单击并添加准备好的照片。不确定我在这里做错了什么。
我终于明白了。只是在'myImageView set Image:aImage'中添加了一个'self'。比如[self.myImageView setImage:aImage];
答案 2 :(得分:0)
我也有一个类似的问题,我将图像添加到Assets.xcassets
文件夹,但图像不会出现。该问题原来是一个格式问题,因为图片导出为box.png
图片,我指定了PNG
。但是我的Mac应用程序无法识别它(无论出于何种原因)。所以我从字符串名称中删除了.png
:
[NSImage imageNamed:@"box"]
由于某种原因,我拍摄的图像未被识别为PNG
图像。但这并不重要,因为根据Apple dev docs,您无需为PNG
图片指定文件格式:
对于PNG图像,您可以省略文件扩展名。对于所有其他 文件格式,始终包含文件扩展名。
答案 3 :(得分:-8)
您必须使用UIImageView代替NSImageView。