У меня есть пустое приложение, в котором я пытаюсь нарисовать представление в главном окне программно, то есть, не перетаскивая «Пользовательское представление» из Интерфейсного Разработчика.Судя по некоторым контрольным точкам и некоторым установленным мной NSLogs (), кажется, что когда я вызываю
RectangleDrawer *rectangle1 = [[RectangleDrawer alloc] initWithFrame:NSMakeRect(10, 10, 50, 50)];
[[[[NSApplication sharedApplication] mainWindow] contentView] addSubView:rectangle1];
, я могу сказать, что мой rectangle1 инициируется, потому что он печатает NSLog, но не отображаетокно.То есть -(void)drawRect:(NSRect)dirtyRect
не вызывается, он не печатает NSLog внутри.RectangleView прост, подкласс NSView
вызывает NSRectFill([self bounds])
с NSBlueColor
.
Когда я перетаскиваю представление в Interface Builder и устанавливаю его класс в RectangleView, он работает отлично ... Рисует синийкоробка, как шарм ...