2013-05-17 35 views
12

在iOS設備中,可以在輔助功能設置中設置大文本。用戶可以在這裏指定不同的字體大小。我想在我的應用中使用這種字體大小。在「輔助功能計劃指南」中,我沒有在我的應用中找到有關訪問此字體大小的任何信息。它只提到標準的蘋果應用程序郵件,聯繫人,日曆等正在使用它。有誰知道在開發應用程序時是否可以訪問這些信息?在iOS應用程序中使用大文本輔助功能

當設置大文本功能時,UIFont的靜態-FontSize方法也不會返回不同的值。

注意:不要與iOS 7的新動態類型混淆這是在輔助功能設置的不同,以前選項)

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

+0

我有一個建議,而不是訪問無障礙字體設置(以獲得選定的字體大小),爲什麼你不開始給你的應用程序的界面來調整根據用戶的選擇,您的應用程序的字體。我發現你無法通過蘋果認可的方式來獲得這一切。所以有一個自定義界面。 –

回答

1

我不認爲你會在這裏得到答案是因爲WWDC內容在NDA之下。如果您有開發人員帳戶,則可以在此處查看https://developer.apple.com/library/prerelease/ios/releasenotes/General/iOS70APIDiffs/index.html並搜索UIFont。這是第三種附加方法。

+3

「大文本」輔助功能在iOS 6中可用(並且可能會更遠一些,但我沒有任何iOS 5設備),所以討論它不應該在NDA之下。 如果答案是「在iOS的運輸版本中沒有可用的API來訪問此功能」,那就是答案。 (我不知道這是否屬實;我之前沒有調查過) –

2

Accessibility設置無法通過iOS SDK進行訪問。在iOS 7中,您可以支持動態類型,該類型允許您通過調用+ preferredFontWithTextStyle:將用戶定義的任何字體設置爲系統字體。

9

使用記錄的API無法訪問它。

只是爲了好玩,但:(不要在真實的應用程序中使用,它可能讓你從商店拒絕)

com.apple.Accessibility.plist下保存,關鍵preferredFontSize

MobileNotes.app(和想必其他人)使用功能得到它

extern float _UIAccessibilityLargeTextFontSize(float); 

(它是如此無證他們提出一定要以下劃線啓動它。)

+0

根據我的理解,您可以從應用商店拒絕您的應用使用未公開的API,因此您可能需要注意這一點如果你想提交它。 – Krease

+0

@Chris啊,是的。忘了明確地說。 – cobbal

2

不幸的是,你不能。

很可能是因爲自動佈局還沒有實現,使用更大的字體會弄亂應用程序界面。如上所述,在iOS7中,您可以支持動態類型。但是,如果您需要定位較低的iOS版本,如果可能的話,最好是解決使用其他輔助功能的問題。

據我所知,從iOS4及更高版本開始,系統提供了一種放大屏幕區域的鏡頭,它不僅僅是一個彈簧板功能,而是完全移植到應用程序中。還有一個高對比度的功能,可以幫助視障人士。

對於那些使用可訪問性API進行文本到語音轉換的人來說,可能會獲得大部分幫助,但他們在應用程序中運行良好,但不適用於自定義控件,因此您需要爲這些組件執行臨時行爲。

您可以創建一種滑塊來直接在應用程序內設置字體大小,例如iBook應用程序。

在我看來,最好的辦法是保持一切簡潔,從設計過程到實施細節。例如:

  • 避免複雜的手勢
  • 保持接口清潔
  • 避免複雜的導航
  • 避免複式的tableview在同一屏幕
  • 不要使用小按鈕
相關問題