2014-05-03 66 views
-2

我是Objective-C和Xcode中的新成员。我做了一个非常简单的Mac应用程序,以了解如何在Cocoa中显示图像。我正在使用Xcode 5.1.1。在OS X 10.9.2下。一个Image Well显示来自文件的图像的对象(文件.png保存在项目内的资产目录中)。一个按钮来改变图像。初始图像(10.png文件)应该由awakeFromNib程序显示。按下按钮后,图像井中的图像应变为5.png-image。使用界面生成器,我为按钮和一个插座建立了一个动作,用于图片井无法在Cocoa中显示图像

下面是一个代码:

// AppDelegate.h 
#import <Cocoa/Cocoa.h> 
@interface AppDelegate : NSObject <NSApplicationDelegate> 
@property (weak) IBOutlet NSImageView *changeImage; 
@property (assign) IBOutlet NSWindow *window; 
- (IBAction)set5:(id)sender; 
@end 

// AppDelegate.m 
#import "AppDelegate.h" 
@implementation AppDelegate 
- (void)awakeFromNib 
{ NSImage *im10; 
    im10 = [NSImage imageNamed:@"10.png"]; 
    if (!im10) NSLog(@"im10 is nil"); 
    [_changeImage setImage:im10]; 
} 
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification { } 

- (IBAction)set5:(id)sender { 
    NSImage *im5; 
    im5 = [NSImage imageNamed:@"5.png"]; 
    if (!im5) NSLog(@"im5 is nil"); 
    [_changeImage setImage:im5]; 
} 
@end 

发射后没有在形象嘛没有图像,按下按钮后没有图像。问题是通过连接到.png文件imageNamed功能:两个NSLogs正在打印“im5/im10 is nil”,这与我在调试时看到的一样。我试图把完整的路径指定文件,我试图与.tiff文件 - 没有结果。

我的应用有什么问题? 谢谢。

+0

您为同一个问题创建了一个新主题:http://stackoverflow.com/questions/23432528/once-again-how-to-display-images-with-nsimageview-in-xcode您需要根据建议进行编辑从用户的第一个问题,不创建一个新的问题。 – Larme

回答

1

imageNamed:预计没有文件扩展名。尝试使用[NSImage imageNamed:@"5"]

+0

谢谢。它有帮助。 – user3596798