первое приложение для Mac — push viewcontroller

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

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

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

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

Как мне это сделать???


person francesco.venica    schedule 20.07.2011    source источник


Ответы (2)


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

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

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

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

person Caleb    schedule 20.07.2011
comment
спасибо большое, кое-что понял. Моя проблема настолько проста, два контроллера пусты, я хочу только перейти с одного контроллера на второй контроллер и наоборот... :) - person francesco.venica; 21.07.2011

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

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

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

введите здесь описание изображения

person zeeawan    schedule 28.03.2015