2011-07-20 5 views
2

У меня вопрос, я делаю какое-то приложение iphone, и теперь я хочу сделать небольшое приложение для Mac.первое приложение mac - push viewcontroller

Из чистого приложения я добавляю кнопку на MainMenu xib, чем я добавляю NSViewController к MainMenu (из IB) с одним действием. Я создаю новый NSViewController (FirstViewController) с файлом nib и кнопкой. Теперь я хочу только создать функцию, чтобы нажать FirstController из MainMenu и простую функцию, чтобы нажать MainMenu из FirstController.

что-то вроде этого

ViewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:[NSBundle mainBundle]]; 
[self.navigationController pushViewController: ViewController animated:YES]; 

Как я могу это сделать ???

ответ

3

Я думаю, вы пытаетесь подключить интерфейс Mac OS X к iOS, и это не будет работать во многих случаях. Пользовательский интерфейс MacOS X сильно отличается от пользовательского интерфейса iOS.

Приложения iOS ограничены одним (и часто маленьким) окном, и пользователи обычно выполняют одно за раз. Интерфейс навигации стандартизирует способ, которым пользователи разворачиваются через разные части задачи, чтобы путешествие было предсказуемым. Интерфейс очень модальный в том смысле, что пользователь постоянно перемещается между различными частями приложения, а действия пользователя часто связаны с частью активного приложения.

Рабочий стол, с другой стороны, имеет достаточно места на экране и позволяет несколько окон. Настольные приложения должны быть modeless - пользователь не перемещается по приложению, но видит все, что выложили перед ним или ей. Насколько это возможно, пользователь должен иметь возможность выполнять любые действия в любое время.

По этим причинам в Cocoa нет контроллера навигации, аналогичного UINavigationController от Cocoa Touch. Если вы можете рассказать нам больше о задачах, которыми управляют ваши два диспетчера представлений, возможно, кто-то здесь поможет вам придумать, как лучше перевести это на ожидаемый рабочий стол.

+1

спасибо большое, я понять некоторые вещи. Моя проблема настолько проста, что два контроллера пустые, я хочу только перейти от одного контроллера к второму контроллеру и наоборот ... :) – kikko088

0

Here apple обсуждает мигрирующие iOS стратегии OS X. Ваш сценарий также обсуждается здесь:

Например, AppKit использует класс NSBrowser для управления отображением иерархической информации; напротив, приложение iOS будет использовать навигационные контроллеры .

И NSBrowser можно увидеть при использовании here с выходом, как показано на прилагаемом изображении.

enter image description here

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