Приложения для киосков - Программирование на OS X - Несколько мониторов

Я изучил Cocoa + Objective C в первую очередь для разработки для iPhone, и мне нужно использовать этот набор навыков, чтобы за пару дней создать простейшее приложение для киоска для OS X. Приложение в основном выглядит следующим образом:

  • Установка имеет два сенсорных монитора, приложение должно работать в полноэкранном режиме. Монитор справа выполняет функцию подробного просмотра списка опций слева. На мониторе слева есть 3 варианта. Если вы выберете один из них, то вы увидите фильм справа, если вы выберете два, вы перейдете к тесту, а в случае выбора 3 откроется веб-просмотр.

  • Пользователь не может использовать какие-либо другие операции на ПК. (Я начал читать о разработке приложений для OS X и понял, что Cocoa предоставляет режим киоска для приложений такого типа)

Мои вопросы кратко

  • Во-первых, любая помощь по запуску моего приложения в режиме киоска очень ценится! У меня немного не хватает времени (2 дня, чтобы все это сделать, поговорим о жизни в стартапах!), Так что полностью статичный контент в порядке, я немного беспокоюсь о том, как OS X будет работать в полноэкранном режиме, если приложение было написано в меньшем размере окна. (Масштабирование и т. Д.)

  • Далее, если предположить, что есть два окна, по одному на каждом экране, как мне справиться с фокусом? Если пользователю вдруг становится скучно с содержимым справа и он касается окна слева, первое касание, вероятно, будет действовать, чтобы сфокусировать окно, а второе - как нажатие кнопки. Я хотел бы избежать этого сценария!)

  • Какие парадигмы навигации в OS X? Я предполагаю, что это не так просто, как [navigationController pushViewController]? Короче говоря, как мне отобразить новый вид поверх существующего?

Спасибо,
Тея

1 ответ

Решение

Во-первых, любая помощь по запуску моего приложения в режиме киоска очень ценится!

http://developer.apple.com/library/mac/

Далее, если предположить, что есть два окна, по одному на каждом экране, как мне справиться с фокусом? Если пользователю вдруг становится скучно с содержимым справа и он касается окна слева, первое касание, вероятно, будет действовать, чтобы сфокусировать окно, а второе - как нажатие кнопки. Я хотел бы избежать этого сценария!)

По умолчанию используется переход по клику. Если у вас есть пользовательские представления, ответьте на acceptsFirstMouse: с YES поддерживать переход по ним.

Какие парадигмы навигации в OS X?

Обычно либо на основе окна, либо на основе списка источников. Ваше приложение нетипично.

Я предполагаю, что это не так просто, как [navigationController pushViewController]?

Это проще и сложнее одновременно. Нет стека для управления; Вы можете иметь несколько окон одновременно. Это становится более сложным, когда вам нужно все в одном окне (как в вашем приложении в режиме киоска), и в этом случае вы в конечном итоге используете представления вкладок (с вкладками или без них), чтобы позволить пользователю переключаться с одного представления на другое.

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

Вы не Слои одного вида над другим в одном и том же суперпредставлении практически не поддерживаются в AppKit и почти всегда неверны.

В обычном приложении вы должны сделать несколько окон. В таком приложении, как ваше, вам нужно использовать вкладки. Здесь вам могут помочь контроллеры представлений, хотя NSViewControllers сильно отличаются от UIViewControllers (как я уже упоминал, стека представлений нет); они больше похожи на NSWindowControllers.

Другие вопросы по тегам