2011-02-02 103 views
3

我試圖創建一個剛剛從磁盤加載圖像的簡單ImageView的,但是這是不工作(我把它放在我的applicationDidFinishLoading):NSImageView無法設置圖像?

NSString *file = [@"~/update.png" stringByStandardizingPath]; 
NSImage *image = [[NSImage alloc] initWithContentsOfFile:file]; 
[wView setImage:image]; 

顯然對NSImageView圖像不被設置,因爲如果我NSLog [wView圖像],我得到(null)。我很確定我在這裏犯了一個初學者的錯誤,但是什麼?

文件和圖像加載正常;如果我將圖像繪製到NSView上,它顯示得很好。 wView不是零,我嘗試使用默認窗口的視圖創建另一個項目,該項目使用initWithFrame:調用setImage的自定義NSImageView子類。依然沒有。

+2

你可以NSLog(@「%@」,image);檢查是否爲空? – David 2011-02-02 20:01:06

+0

`file`變量返回什麼? – Eimantas 2011-02-02 20:02:05

回答

1

最有可能的是,wView爲零。最常見的原因是當在一個視圖的連接中在nib中實例化的類也在代碼中第二次被實例化時。

4

(這裏有一個實際的帳戶OP)

所以事實證明,setImage不上進行了明確的IB構造,如果你明白我的意思的NSImageView工作。我做了一個NSView子類,在它內部構造一個NSImageView並調用setImage,並且工作正常。真的很煩人。