1

インターフェイスビルダーを介してimagewellを追加し、イメージを設定してから実行すると、すべてがうまくいきました。(画像が表示されます)。

ただし、カスタムクラスを独自のクラス(NSImageViewサブクラス)に変更すると、画像が表示されなくなります。これは何も追加されていないベアクラスです。これが機能しない理由は何ですか?

次に、initWithFrameメソッドで画像を手動で設定しようとしました。

    [self setImage:[NSImage imageNamed:@"image.png"]];
    [self setImageAlignment:NSImageAlignCenter];

    NSLog(@"image is valid? %@", [[self image] isValid] ? @"yes" : @"no");

しかし、これもうまくいきませんでした。エラーはなく、画像は表示されません。

私の間違いは何でしょうか?

4

2 に答える 2

2

drawRectメソッド内でsuperdrawRectを呼び出すようにしてください。

 - (void)drawRect:(NSRect)dirtyRect
 {
     [super drawRect:dirtyRect];
     // Drawing code here.
 }
于 2013-02-21T11:13:52.370 に答える
0

バインディングをもう一度確認してください。XIBでは、おそらくImageViewを新しい「SubClassImageView」に再度リンクする必要があるかもしれません。

それが問題を解決することを願っています...

于 2013-02-21T15:13:58.430 に答える