2010-09-26 83 views
5

我已经学会了Cocoa + Objective C主要用于iPhone开发,并且我需要利用此技能在几天内为OS X构建一个非常基本的Kiosk应用程序。该应用程序基本如下:Kiosk应用程序 - OS X编程 - 多显示器

  • 设置有两个触摸屏显示器,该应用程序必须运行全屏模式。右侧的监视器充当左侧选项列表的详细视图。左侧显示器上有3个选项。选择一个会在右边播放电影,Picking 2会带你参加一个测验,Picking 3会拉起一个Webview。

  • 用户不得在PC上使用任何其他操作。 (我开始阅读关于OS X应用程序开发和实现可可提供kiosk模式为这些类型的应用程序)

我的问题是短暂

  • 首先,如何获得任何帮助我的应用程序运行在Kiosk模式非常感谢!我处于一段时间紧张状态(2天完成所有这些,谈论初创公司的生活!),所以完全静态的内容是好的,我有点担心OS X将如何处理全屏模式,如果应用程序已被写入较小的窗口大小。 (缩放等)

  • 接下来,假设有两个窗口,每个窗口上一个窗口,我该如何处理焦点?如果用户突然对右侧的内容感到厌倦并触摸左侧的窗口,则第一次触摸可能用于聚焦窗口,而第二次将用作点击按钮。我想避免这种情况!)

  • 什么是OS X中的导航范例?我猜这不像[navigationController pushViewController]那么简单?总之,如何在现有视图上显示新视图?

感谢,
Teja公司

回答

6

首先,如何让我的应用程序在Kiosk模式运行的任何帮助深表感谢!

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

接下来,假设有两个窗口,一个在每个屏幕上,我该如何处理重点是什么?如果用户突然对右侧的内容感到厌倦并触摸左侧的窗口,则第一次触摸可能用于聚焦窗口,而第二次将用作点击按钮。我想避免这种情况!)

Click-through是默认设置。如果您有任何自定义视图,请使用YES响应acceptsFirstMouse:以支持其中的点击。

什么是OS X中的导航范例?

通常是基于窗口的或基于源列表的。你的应用程序是非典型的。

我猜这不像[navigationController pushViewController]那么简单?

它更简单和更复杂的同时。没有堆栈要管理;你可以同时拥有多个窗口。当你想在一个窗口中显示所有内容(如在你的信息亭模式应用程序中)时,它会变得更加复杂,在这种情况下,最终你将使用标签视图(带或不带标签)来使用户从一个视图切换到另一个视图。

总之,如何在现有视图上显示新视图?

你不知道。在AppKit中几乎不支持在同一个超级视图中覆盖另一个视图,而且几乎总是错误的。

在正常的应用程序中,您应该制作多个窗口。在像你这样的应用中,您需要使用选项卡视图。视图控制器可能会帮助你在这里,虽然NSViewControllers是非常不同于UIViewControllers(正如我所提到的,没有视图堆栈);它们更类似于NSWindowControllers。

+0

谢谢!这对我来说是一个很好的帮助,但仍然有相当多的想法。在我走的时候会回答更具体的问题。 – 2010-09-27 17:22:26

+0

不幸的是,这篇文章让读者在与NSViewControllers,NSWindowControllers挣扎了一天之后阅读它更有意义。再次感谢! – 2010-09-28 18:46:08