Kiosk 应用程序 - OS X 编程 - 多显示器

2023-11-23

我学习了 Cocoa + Objective C 主要用于 iPhone 开发,我需要利用这些技能在几天内为 OS X 构建一个非常基本的信息亭应用程序。申请基本如下:

  • 该设置有两个触摸屏显示器,应用程序必须运行全屏模式。右侧的监视器充当左侧选项列表的详细视图。左侧显示器上有 3 个选项。选择一个将在右侧播放一部电影,选择两个将带您进行测验,选择 3 将调出一个 Web 视图。

  • 用户不得在PC上进行任何其他操作。 (我已经开始阅读有关 OS X 应用程序开发的内容,并意识到 Cocoa 为这些类型的应用程序提供了 kiosk 模式)

我的问题简要是

  • 首先,非常感谢有关如何让我的应用程序在信息亭模式下运行的任何帮助!我的时间有点紧迫(需要 2 天才能完成所有这些工作,谈论初创公司的生活!),所以完全静态的内容很好,我有点担心 OS X 将如何处理全屏模式,如果应用程序是在较小的窗口尺寸中编写的。 (缩放等)

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

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

Thanks,
Teja


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

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

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

通过点击是默认值。如果您有任何自定义视图,请回复acceptsFirstMouse: with YES支持其中的点击。

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

通常基于窗口或基于源列表。你的申请不典型。

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

它更简单,同时也更复杂。没有堆栈需要管理;您可以同时打开多个窗口。当您希望所有内容都在一个窗口中(如在信息亭模式应用程序中)时,情况会变得更加复杂,在这种情况下,您最终会使用选项卡视图(带或不带选项卡)来使用户能够从一种视图切换到另一种视图。

简而言之,如何在现有视图上显示新视图?

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

在正常的应用程序中,您应该创建多个窗口。在像您这样的应用程序中,您需要使用选项卡视图。视图控制器可能会在这里帮助你,尽管 NSView 控制器very与 UIViewControllers 不同(正如我提到的,没有视图堆栈);它们与 NSWindowController 更相似。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Kiosk 应用程序 - OS X 编程 - 多显示器 的相关文章

随机推荐