在iOS应用程序中使用大文本可访问性功能

在iOS应用程序中使用大文本可访问性功能,ios,text,accessibility,Ios,Text,Accessibility,在iOS设备中,可以在辅助功能设置中设置大文本。用户可以在此处指定不同的字体大小。我想在我的应用程序中也使用这种字体大小。在可访问性收视指南中,我没有在我的应用程序中找到任何有关访问此字体大小的信息。它只提到标准的苹果应用程序邮件、联系人、日历等正在使用它。有人知道在开发应用程序时是否可以访问此信息吗 当设置大文本功能时,UIFont的static-FontSize方法也不会返回不同的值 (注意:不要与iOS 7的新动态类型混淆。这是辅助功能设置下的另一个旧选项。) 我认为你不会在这里得到答案,

在iOS设备中,可以在辅助功能设置中设置大文本。用户可以在此处指定不同的字体大小。我想在我的应用程序中也使用这种字体大小。在可访问性收视指南中,我没有在我的应用程序中找到任何有关访问此字体大小的信息。它只提到标准的苹果应用程序邮件、联系人、日历等正在使用它。有人知道在开发应用程序时是否可以访问此信息吗

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

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


我认为你不会在这里得到答案,因为WWDC的内容属于保密协议。如果您有一个开发者帐户,您可以在这里查看并搜索UIFont。这是添加的第三种方法。

可访问性
设置无法通过iOS SDK访问。在iOS 7中,您可以支持动态类型,它允许您通过调用+
preferredFontWithTextStyle:

将任何字体设置为用户定义的系统字体大小

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

它存储在
com.apple.Accessibility.plist
,key
preferredFontSize

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

extern float _UIAccessibilityLargeTextFontSize(float);

(因为它没有文档记录,所以他们确保它的开头带有下划线。)

不幸的是,你不能

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

据我记忆所及,在iOS4及更高版本中,该系统提供了一种放大屏幕区域的镜头,它不仅具有跳板功能,而且完全被移植到应用程序中。还有一个高对比度的功能,帮助视力受损的人

对于那些使用可访问性API进行文本到语音转换的人,您可能会得到大部分帮助,他们在应用程序中工作良好,但不适用于自定义控件,因此您需要为这些组件实现特殊行为

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

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

  • 避免复杂的手势
  • 保持界面清洁
  • 避免复杂的导航
  • 避免在同一屏幕中出现多个tableview
  • 不要使用小按钮

iOS 6中提供了“大文本”可访问性功能(可能可以追溯到更远的地方,但我手边没有任何iOS 5设备),因此讨论它不应该在保密协议中。如果答案是“在iOS的发布版本中没有可用于访问此功能的API”,这就是答案。(我不知道这是不是真的;我以前没有调查过。)据我所知,你可以因为使用未记录的API而被应用商店拒绝,所以如果你想提交它,你可能需要小心。@Chris啊,是的。我有一个建议,与其访问辅助功能字体设置(以获得选定的字体大小),不如在应用程序中提供一个界面,根据用户的选择调整应用程序的字体。我看你不可能完全按照苹果公司批准的方式来做。因此,我们有一个自定义接口。