2012-04-16 3 views
0

У меня возникли проблемы с выяснением того, как изменить различные пользовательские представления в моем проекте XCode.XCode/Cocoa Mac Изменение просмотров

У меня есть файл Main nib, состоящий из 1 главного окна и 5 пользовательских видов. Главное окно состоит из 5 кнопок, которые необходимо подключить к различным представлениям. Так, например, я нажимаю на кнопку 1 и закрывает текущее меню и загружает пользовательский вид 1.

У меня возникли проблемы с выяснением того, как это будет сделано.

Я думаю, я бы создал IBOutlets для 5 различных кнопок и 5 пользовательских представлений и подключил их к различным методам, таким как openView1, openView2, где каждый метод закрывал текущее меню и загружал пользовательский вид?

Может ли кто-нибудь помочь мне в кодовом ключе, как я этого достиг?

Любая помощь очень ценится.

Thanks

ответ

3

По существу, вы хотите видеть вкладку?

Вы можете сделать NSTabView в Interface Builder. Установите количество вкладок на 5. Затем выложите содержимое тем, которые вы хотите внутри.

Если вы счастливы, используя стандартную систему, обеспечивающую визуальный внешний вид ваших вкладок, то все готово. Если вы хотите, чтобы пользовательские кнопки переключали вкладки, читайте дальше.

С вашей точки зрения выбранной вкладки, установите его стиль Tabless:

enter image description here

Это делает вкладку кнопки исчезают. Это означает, что переход между представлениями должен выполняться с помощью кода. Сначала вам понадобится IBOutlet, который представляет собой представление вашей вкладки: соедините это. Затем написать метод IBAction для openView1:, что может выглядеть примерно так:

- (IBAction)openView1:(id)sender 
{ 
    [tabView selectTabViewItemAtIndex:0]; 
} 

Сделайтесь кнопкой (которая находится в окне где-нибудь вне поля зрения вкладки, в противном случае вы бы только получить к нему доступ из одного tab!) и подключите его к этому действию.

Возможно, это самый простой способ получить доступ к интерфейсу, подобному этому. Существует множество способов улучшить его в зависимости от того, как вы хотите структурировать свой код. Например, похоже, что вы приходят с разработки iOS, где вы делаете UIViewController для каждой вкладки. Ну, на Mac существует NSViewController, поэтому вы можете использовать аналогичный шаблон: но если вам это нужно, вам нужно будет написать код, который обрабатывает ваши взгляды на контроллеры представлений в виде вкладок. Это не происходит автоматически через Interface Builder, как в iOS. This tutorial должен начать работу, если вы решите пойти по этому маршруту.

+0

Я не думал об использовании вкладок в виде табуляции, это своего рода работа вокруг проблемы? В любом случае это хорошо и просто и выполняет свою работу, поэтому очень спасибо! – Cristian

+0

На самом деле это не работа, это просто самый простой способ справиться с заменой набора взглядов. Для этой цели удобно использовать табуляции. –

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