文章

显示偏好设置窗口

在用 Mac Catalyst 构建的 Mac App 中提供一个偏好设置窗口,以便用户可以管理设置套装中定义的 App 偏好设置。

概览

Mac App 通常使用偏好设置窗口显示特定于 App 的偏好设置,该窗口可通过菜单栏中 App 菜单下的标准“偏好设置”菜单项进行访问。

用 Mac Catalyst 构建的 Mac App 在包含 Settings.bundle 文件时,会自动获得“偏好设置”菜单项和“偏好设置”窗口。当用户选择“偏好设置”菜单项时,系统会根据设置套装中提供的选项显示一个 Mac 友好的“偏好设置”窗口。要进一步了解设置套装,请参阅“实施 iOS 设置套装”。

向你的 App 中添加偏好设置窗口

要在 Mac App 中包含偏好设置窗口,请按 Command-N 并从“iOS”下的“Resource”(资源) 部分中选择“Settings Bundle”(设置套装) 模板,以将 Settings.bundle 文件添加到你的 Xcode 项目。然后,点按“Next”(下一步),将文件存储到你的项目。

Xcode 的截屏,其中显示了选择“iOS”平台、选择“Setting Bundle”(设置套装) 模板,以及点按“Next”(下一步) 按钮以存储设置套装。

向偏好设置窗口中添加工具栏标签

设置套装可以包括一个或多个子面板,让你可以分层整理偏好设置 (请参阅“分层偏好设置”)。在 iOS 中,“设置”App 将子面板显示为一个偏好设置行。当用户轻点偏好设置行时,App 会显示一个新视图,其中显示了在子面板的属性列表文件中定义的偏好设置。

在 macOS 中,“偏好设置”窗口会将子面板显示为窗口工具栏上的一个标签。当用户点按标签时,便会看到在子面板的属性列表文件中提供的偏好设置。

子面板对应的标签会显示面板的标题和系统提供的图标。要自定图标,请在子面板的属性列表文件中添加以下键:

Icon

可选。一个字符串,用于指定在“偏好设置”窗口中显示为工具栏标签图标的图像文件的名称。

你必须在包含子面板属性列表文件的设置套装中包含该图像文件。

确认对切换开关所做的更改

设置套装的另一个元素是切换开关元素,该元素显示用户可以进行切换的开关按钮。你的 Mac App 可以通过在切换开关元素中包含以下键来在用户切换开关时提示用户进行确认:

TrueConfirmationPrompt

可选。一个字典,用于定义在用户尝试打开对应开关时向用户显示的提示。

FalseConfirmationPrompt

可选。一个字典,用于定义在用户尝试关闭对应开关时向用户显示的提示。

每个字典都包含以下用于定义提示内容的键:

Type

必需。必须设置为 PSConfirmationPrompt

Title

必需。一个字符串,用于指定提示的标题。一些设备上可能不会显示该标题。

Prompt

必需。一个字符串,用于指定提示显示的正文。

ConfirmText

可选。一个字符串,用于指定提示的确认按钮上显示的文本。当用户点按这个按钮时,切换开关的值会发生变化。

DenyText

可选。一个字符串,用于指定提示的取消按钮上显示的文本。当用户点按这个按钮时,切换开关的值不会发生变化。

显示切换开关的副标题

一些 iOS App 会使用带有页脚文本的组项目,在切换开关下方以副标题形式显示描述性文本。虽然“偏好设置”窗口支持这种方法,但是在 Mac 上的显示效果并不理想。这时应在切换开关元素中包含以下键以显示副标题:

Description

可选。一个在切换开关下显示的较长描述性字符串。

另请参阅

用户偏好设置