2013-08-29 62 views
1

我做了NSImageView的一個子類,因爲我想定製一些mouseClick事件。但是,我還沒有開始,出了什麼問題。我製作了NSImageView子類:NSImageView子類沒有顯示圖像

(File/New/File .../Cocoa(Objective-C Class)/ Class = NSImageViewMENSImageView的子類)。

就是這樣。我已經導入NSImageViewME.h並在代碼中,我創建圖像,並將它們添加到我的NSView

NSImageView *imageView = [[NSImageView alloc] initWithFrame:frame]; 
[imageView setImage:image]; 
[self addSubview:imageView]; 

心中已經剛剛更換NSImageViewNSImageViewME,並且不顯示圖像。所以,很明顯,當我使用NSImageView,一切工作正常,但當我使用NSImageViewME(未觸及的子類)圖像沒有顯示...我檢查,initWithFrame被調用,setImage被調用,但圖像未顯示。 ..有什麼可以解決的問題?乾杯。

+1

1.你應該用你的'NSImageViewME'類職位的代碼來代替。 2.你是否爲你的子類註釋掉了空的'drawRect:'實現,或者是否調用了'super'? –

回答

1

評論了這一點:

(void)drawRect:(NSRect)dirtyRect 
+0

如果他的子類已經重寫了drawRect:方法(並且不調用[super drawRect:dirtyRect]),那麼永遠不會調用NSImageView類實現中的圖像繪製方法(drawRect :)。 – geowar