У меня возникло трудное время, обертывающее мою голову вокруг загрузки представлений с помощью Interface Builder и NSViewController.NSViewController и несколько подземелий из Nib
Моя цель состоит в том, чтобы иметь представление, которое соответствует следующему описанию: Верхняя панель наверху (например, панель инструментов, но не точно), которая охватывает всю ширину представления, и второй «контентный вид» ниже. Этот составной вид принадлежит моему подклассу NSViewController
.
Для этого имеет смысл использовать Interface Builder. Я создал view nib и добавил к нему два subviews, правильно их выложил (с верхней панелью и представлением содержимого). Я установил File's Owner
как MyViewController
, и подключил розетки и т. Д.
Представления, которые я хочу загрузить (панель и содержимое), также находятся в их собственных наконечниках (это может быть то, что меня отключает), и эти перья устанавливают свой собственный класс в соответствующий подкласс NSView, где это применимо. Я не уверен, что установить как их File's Owner
(я предполагаю, MyController
, как и должно быть их владельцем).
Увы, когда я запускаю экземпляр MyViewController
, ни один из моих перьев на самом деле не отображается. Я добавил его в ContentView моего окна правильно (я проверил в противном случае), и на самом деле, что-то вроде нагрузки. То есть, awakeFromNib
отправляется на экран, но он не отображается в окне. Кажется, у меня определенно есть какие-то провода. Возможно, кто-то может протянуть руку, чтобы облегчить мое разочарование?
EDIT некоторый код, чтобы показать, что я делаю
Контроллер загружается, когда мое приложение завершает запуска, из приложения делегата:
MyController *controller = [[MyController alloc] initWithNibName:@"MyController" bundle:nil];
[window setContentView:[controller view]];
А потом в моей initWithNibName я не» я ничего не делаю, кроме как позвонить в супер.
Отправьте свой код. Непонятно, как вы инициализируете свой контроллер представлений. –