自助服务应用程序 - OS X编程 - 多个显示器

5
我主要学习Cocoa + Objective C来进行iPhone开发,现在需要利用这些技能,在几天内构建一个非常基础的OS X自助服务应用程序。该应用程序基本如下:
  • 设置有两个触摸屏显示器,应用程序必须在全屏模式下运行。右侧的显示器作为左侧选项列表的详细视图。左侧显示器上有3个选项。选择一个将在右侧播放电影,选择二将带您进入测验,选择三将拉起一个Webview。

  • 用户不能使用PC上的任何其他操作。(我已经开始阅读关于OS X应用程序开发的内容,并意识到Cocoa提供了这些类型应用程序的自助服务模式)

我的问题简要是:

  • 首先,非常感谢任何有关如何在自助服务模式下运行我的应用程序的帮助!我时间有点紧(只有2天完成所有这些工作,创业公司的生活就是这样!),因此完全静态的内容也可以,我稍微担心如果应用程序在较小的窗口大小中编写,OS X如何处理全屏模式。(缩放等)

  • 接下来,假设有两个窗口,每个屏幕一个,如何处理焦点?如果用户突然对右侧的内容感到无聊,并触摸了左侧的窗口,则第一次触摸可能会将焦点放在窗口上,第二次触摸将作为按钮点击。我想避免这种情况!

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

谢谢,
Teja

1个回答

6

首先,非常感谢任何有关如何在 kiosk 模式下运行我的应用程序的帮助!

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

假设有两个窗口,一个在每个屏幕上,如何处理焦点?如果用户突然对右侧的内容感到无聊并触摸左侧的窗口,则第一次触摸可能会起到聚焦窗口的作用,而第二次触摸则会作为按钮点击。我想避免这种情况!

Click-through 是默认设置。如果您有任何自定义视图,请使用 acceptsFirstMouse: 响应并返回 YES 来支持它们的 click-through。

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

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

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

它既简单又复杂。没有需要管理的堆栈;您可以同时打开多个窗口。如果您想要在一个窗口中拥有所有内容(例如您的 kiosk-mode 应用程序),那么它会变得更加复杂,这种情况下,您将使用选项卡视图(带或不带选项卡)使用户能够从一个视图切换到另一个视图。
简而言之,如何在现有视图上显示新视图?
您不能这样做。在 AppKit 中,将一个视图层叠在另一个视图上的支持非常有限,并且几乎总是错误的。在正常应用程序中,您应该创建多个窗口。在您的应用程序中,您将需要使用选项卡视图。视图控制器可能对您有所帮助,尽管 NSViewControllers 与 UIViewControllers 非常不同(如我所提到的,没有视图堆栈);它们更类似于 NSWindowControllers。

谢谢!这对我来说是一个很好的起点,但还有很多问题需要弄清楚。随着我继续学习,我会再回来提出更具体的问题。 - Tejaswi Yerukalapudi
非常不幸,这篇文章在经过一天的 NSViewControllers 和 NSWindowControllers 的挣扎后阅读起来更有意义。再次感谢! - Tejaswi Yerukalapudi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接