У меня есть NSView в IB, который находится над окном приложения. У меня есть подкласс NSView (AddSource), который я назначаю NSView.
На awakeFromNib я создаю представление:
//add a new Add Source class
addSourceView = [[AddSource alloc] initWithFrame:NSMakeRect(0.0, 959.0, 307.0, 118.0)];
[[winMain contentView] addSubview:addSourceView];
в методе addRourceView drawRect Я добавляю белый вид к виду:
[[NSColor whiteColor] set];
NSRectFill(rect);
[self setNeedsDisplay:YES];//added this to see if it might solve the problem
В winMain's contentView у меня есть NSButton, который при нажатии вставляет addSourceView в окно:
NSRect addSourceViewFrame = [addSourceView frame];
addSourceViewFrame.origin.y = 841.0;
[[addSourceView animator] setFrame:addSourceViewFrame];
Но кажется, что приложение рисует поверх IBOutlets, которые я поместил в NSView в IB. Если в IB я создаю NSView так, чтобы он отображался на экране при запуске приложения, все работает нормально, там присутствуют IBOutlets, а также цвет фона.
Я не уверен, почему это происходит. Я делал это раньше без проблем. Должно быть, в этот раз я делаю что-то другое.
Спасибо за любую помощь.
* примечание - на третьем снимке экрана, когда я говорю, что это то, как приложение выглядит при открытии, именно тогда я жестко кодирую позицию Y в NSView. Когда он работает правильно, он должен открыться как снимок экрана 1.