Приложения для киоска - Программирование на OS X - Несколько мониторов - PullRequest
5 голосов
/ 27 сентября 2010

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

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

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

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

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

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

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

Спасибо,
Тея

1 Ответ

6 голосов
/ 27 сентября 2010

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

http://developer.apple.com/library/mac/#technotes/KioskMode/

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

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

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

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

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

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

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...