在iOS应用中使用大文本辅助功能

时间:2013-05-17 09:54:21

标签: ios text accessibility

在iOS设备中,可以在“辅助功能设置”中设置“大文本”。用户可以在此处指定不同的字体大小。我想在我的应用程序中使用这个字体大小。我在“辅助功能计划指南”中找不到有关在我的应用中访问此字体大小的任何信息。它只提到标准Apple应用程序Mail,Contacts,Calendars等正在使用它。有没有人知道在开发应用程序时是否可以访问此信息?

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

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

This is what iOS 6's Large Type setting looks like.

4 个答案:

答案 0 :(得分:9)

使用文档化的API无法访问它。

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

它存储在com.apple.Accessibility.plist,密钥preferredFontSize

MobileNotes.app(可能是其他人)使用函数

获取它
extern float _UIAccessibilityLargeTextFontSize(float);

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

答案 1 :(得分:2)

无法通过iOS SDK访问

Accessibility设置。在iOS 7中,您可以支持动态类型,它允许您通过调用+ preferredFontWithTextStyle:以用户定义的大小将任何字体设置为系统字体。

答案 2 :(得分:2)

不幸的是你不能。

最有可能的原因是autolayout尚未实现,使用更大的字体会搞乱应用程序界面。在iOS7中说,你可以支持动态类型。但是,如果您需要针对较低的iOS版本,如果可能,最好使用其他辅助功能。

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

对于那些使用辅助功能API进行文字转语音的人来说,你可以获得最大的帮助,它们在应用程序中运行良好但不适用于自定义控件,因此您需要为这些组件实施临时行为。< / p>

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

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

  • 避免复杂的手势
  • 保持界面清洁
  • 避免复杂导航
  • 避免在同一屏幕中使用多个表格视图
  • 请勿使用小按钮

答案 3 :(得分:1)

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