12

在 iOS 设备中,可以在辅助功能设置中设置大文本。用户可以在这里指定不同的字体大小。我也想在我的应用程序中使用这个字体大小。在辅助功能计划指南中,我没有找到任何有关在我的应用程序中访问此字体大小的信息。它只提到标准的 Apple 应用程序邮件、通讯录、日历等正在使用它。有谁知道在开发应用程序时是否可以访问这些信息?

UIFont 的静态 -FontSize 方法在设置大文本功能时也不会返回不同的值。

注意:不要与 iOS 7 的新动态类型混淆。这是辅助功能设置下的一个不同的旧选项。)

这就是 iOS 6 的大字体设置的样子。

4

4 回答 4

9

使用记录在案的 API 无法访问它。

只是为了好玩:(不要在真正的应用程序中使用,它可能会让你被商店拒绝

它存储在com.apple.Accessibility.plist, 键下preferredFontSize

MobileNotes.app(可能还有其他人)使用该功能获取它

extern float _UIAccessibilityLargeTextFontSize(float);

(它是如此无证,他们确保以下划线开头。)

于 2013-12-10T07:17:47.017 回答
2

Accessibility无法通过 iOS SDK 访问设置。在 iOS 7 中,您可以支持 Dynamic Type,它允许您通过调用 + 将任何字体设置为用户定义的大小的系统字体preferredFontWithTextStyle:

于 2013-12-10T07:12:59.967 回答
2

不幸的是你不能。

很可能是因为尚未实现自动布局,并且使用更大的字体会弄乱应用程序界面。如前所述,在 iOS7 中,您可以支持 Dynamic 类型。但是,如果您需要针对较低的 iOS 版本,如果可能的话,最好使用其他辅助功能。

据我所知,iOS4 及更高版本的系统提供了一种镜头来放大屏幕区域,它不仅仅是一个跳板功能,而是完全移植到应用程序中。还有帮助视障人士的高对比度功能。

对于那些使用无障碍 API 进行文本转语音的人,您可能会获得最大的帮助,它们在应用程序中运行良好,但不适用于自定义控制,因此您需要为这些组件实现临时行为。

您可以创建一种滑块来直接在应用程序内设置字体大小,例如 iBook 应用程序。

在我看来,最好的方法是保持一切整洁和简单,从设计过程到实现细节。例如:

  • 避免复杂的手势
  • 保持界面清洁
  • 避免复杂的导航
  • 避免在同一屏幕中使用多个 tableview
  • 不要使用小按钮
于 2013-12-10T07:38:31.757 回答
1

我认为您不会在这里得到答案,因为 WWDC 内容受 NDA 保护。如果您有开发者帐户,您可以在这里查看https://developer.apple.com/library/prerelease/ios/releasenotes/General/iOS70APIDiffs/index.html并搜索 UIFont。这是第三个添加的方法。

于 2013-06-11T14:28:49.030 回答