2014-05-03 97 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