2013-10-25 2 views
2

Я собираюсь перерезать право на погоню: мое приложение сильно выросло, и теперь я думаю, что пришло время для меня немного убирать. Я хочу отделить некоторые мои взгляды от файла MainMenu.xib в своем собственном файле Nib. Часть, которая меня отключает, - это всего лишь «Конструктор интерфейса + мой код». Вот что я сделал до сих пор:Как точно сочетаются NSView, NSViewController и MainMenu.xib?

  1. Я добавил вид контроллера прокси-объект:
    View Controller object in Interface Builder object browser

  2. В идентичности инспектора, я добавил имя класса с моей точки зрения контроллера в поле Custom Class.
    Identity Inspector in Interface Builder

  3. В Атрибуты инспектор, я записалась СИБ я хочу, чтобы загрузить. Nib Name field in Interface Builder

  4. Я подключил выход вид По мнению контроллера объекта в существующем виде в MainMenu.xib.
    View Outlet on View Controller in Interface Builder

  5. Наконец-то я ударил Cmd + R, и моего зрения там нет.
    [Вставить изображение FFFFUUUUU мема здесь.]

Что мне не хватает? Я смотрел на мой Mac день и день в течение последних двух недель, поэтому я не удивлюсь, если я полностью что-то оставил. Если кто-то увидит мои n00b-пути и захочет указать мне в правильном направлении, я буду очень благодарен. Благодарю.

+0

Я не совсем уверен, что вы имеете в виду «на мой взгляд, не существует». Что вы тогда подключили как '' IBOutlet''? Вам нужно явно называть 'addSubview:' на любом представлении, к которому вы хотите добавить свой просмотр. – NSAddict

ответ

6

Вы почти получили его.

я опубликовал demo-project на Github, только для вас;)


Наконец, вам нужно на самом деле добавить вид к окну. Сделайте это в своих AppDelegate, или где бы вы ни находились.

- (void)awakeFromNib { 
    [self.window.contentView addSubview:self.customViewController.view]; 
    [self.customViewController.view setFrame:[self.window.contentView bounds]]; 
} 

Или, конечно, в первую очередь необходимо сделать отверстие для контроллера представления:

@property (assign) IBOutlet ITCustomViewController *customViewController; 
+0

Спасибо, человек! Возможно, вы должны стать создателем документации и создателем демонстрационного приложения для Apple. Я не знаю, почему все думают, что документация Apple настолько велика. Этого недостает во многих областях, и в половине случаев их демо-приложения используют устаревшие методы! Я знаю, что SO не нравится, когда комментарии используются для «благодарности людям», но мне все равно: Спасибо, что нашли время помочь новому Cocoa Maker, NSAddict! –

+0

@BenStock Документация Apple фактически очень хороша, они просто покрывают немного более глубокие вещи. Но я согласен с вами в том, что они не очень помогают, когда вы пытаетесь отправиться в Cocoa. Когда я начал работать с ObjC, я подумал, что этот [Youtube-Channel] (http://www.youtube.com/user/AppleProgramming) очень полезен. – NSAddict

Смежные вопросы