空のアプリケーションは、メインウィンドウでプログラムで描画を試みます。つまり、まずインターフェイスビルダから「カスタムビュー」をドラッグしないでください。いくつかのブレークポイントといくつかのNSLogs()私は設定から判断すると、私が表示が開始されていますが、drawRect:が呼び出されていません
RectangleDrawer *rectangle1 = [[RectangleDrawer alloc] initWithFrame:NSMakeRect(10, 10, 50, 50)];
[[[[NSApplication sharedApplication] mainWindow] contentView] addSubView:rectangle1];
を呼び出すとき、それはのNSLogを出力しますので、私は私のrectangle1が開始されていることを伝えることができるようですが、それは窓にビューを描画しません。 。すなわち、-(void)drawRect:(NSRect)dirtyRect
が呼び出されていないと、その中のNSLogは印刷されません。 RectangleViewは単純で、NSView
のサブクラスで、をNSBlueColor
と呼びます。
私はInterface Builderの上にビューをドラッグして、それが完全に...魔法のように青色のボックスを描き作品RectangleViewするクラスの設定...
...私は
[_window.contentView addSubview:rectangle1];
を読むために一番下の行を変更していないし、今では完璧に動作します。また、initWithFrame:メソッドで[self display]を呼び出すと、何も起こりません。 – SeniorShizzle