2013-05-17 5 views
12

Nei dispositivi iOS è possibile impostare Testo grande nelle impostazioni di accessibilità. L'utente può specificare diverse dimensioni del carattere qui. Mi piacerebbe usare questa dimensione del carattere anche nella mia app. Non ho trovato nulla sull'accesso a questa dimensione del carattere nella mia app nella guida al programma di accessibilità. Si accenna solo al fatto che le app standard di Apple Mail, Contatti, Calendari ecc. Lo stanno usando. Qualcuno sa se questa informazione è accessibile durante lo sviluppo di un'app?Utilizza la funzione di accessibilità in testo grande nell'app per iOS

Anche i metodi statici -FontSize di UIFont non restituiscono valori diversi quando è impostata la funzione Testo grande.

(NOTA:.. Da non confondere con il nuovo tipo dinamico di iOS 7 Questo è un diverso, l'opzione più vecchio sotto le impostazioni di accessibilità)

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

+0

Ho un suggerimento che piuttosto di accedere alle impostazioni dei caratteri di accessibilità (per ottenere la dimensione del carattere selezionato), perché non inizi a dare un'interfaccia nella tua applicazione per regolare il carattere della tua app, secondo la scelta dell'utente. Vedo che non puoi ottenere tutto dal modo in cui Apple approva. Quindi avere un'interfaccia personalizzata. –

risposta

1

Non credo che avrete ottenere una risposta qui perché il contenuto WWDC è sotto NDA. Se hai un account sviluppatore, puoi dare un'occhiata qui a https://developer.apple.com/library/prerelease/ios/releasenotes/General/iOS70APIDiffs/index.html e cercare UIFont. È il terzo metodo aggiunto.

+3

La funzione di accessibilità "Testo grande" è disponibile in iOS 6 (e probabilmente torna più indietro, ma non ho dispositivi iOS 5 a portata di mano), quindi la discussione non dovrebbe essere sotto NDA. Se la risposta è "Non ci sono API disponibili per accedere a questa funzione nelle versioni di spedizione di iOS", questa è la risposta. (Non so se questo è vero, non l'ho mai studiato prima). –

2

Accessibility le impostazioni non sono accessibili tramite iOS SDK. In iOS 7, è possibile supportare il tipo dinamico, che consente di impostare qualsiasi carattere sul carattere di sistema nella dimensione definita dall'utente chiamando + preferredFontWithTextStyle:.

9

Non è accessibile tramite API documentate.

Solo per divertimento però: (non utilizzare in una vera e propria applicazione, sarà probabilmente ottenere respinto dal negozio)

E 'conservato in com.apple.Accessibility.plist, chiave preferredFontSize

MobileNotes.app (e presumibilmente gli altri) ottengono utilizzando la funzione di

extern float _UIAccessibilityLargeTextFontSize(float); 

(è così documentato hanno fatto in modo di iniziare con un carattere di sottolineatura.)

+0

Da quanto ho capito, puoi far rifiutare l'app dall'app store per l'utilizzo di un'API non documentata, quindi ti consigliamo di fare attenzione a questo se vuoi inviarlo. – Krease

+0

@Chris Ah, si. Ho dimenticato di dirlo esplicitamente – cobbal

2

Purtroppo non è possibile.

Molto probabilmente perché l'autolayout non è stato ancora implementato e l'utilizzo di un font più grande potrebbe compromettere l'interfaccia dell'app. In iOS7 come detto puoi supportare il tipo dinamico. Ma se devi scegliere come target versioni iOS ridotte, se è possibile, è meglio aggirare l'utilizzo di altre funzioni di accessibilità.

Per quanto mi ricordo da iOS4 e più in alto il sistema offre una sorta di obiettivo per ingrandire le aree dello schermo, e non era solo una funzione spring board ma era totalmente trasferito nelle app. C'è anche una funzione ad alto contrasto che aiuta la persona con disabilità visive.

Probabilmente puoi ottenere il massimo aiuto per coloro che utilizzano l'API di accessibilità per la sintesi vocale, funzionano bene nell'app ma non per il controllo personalizzato, quindi sarà necessario implementare comportamenti ad-hoc per tali componenti.

È possibile creare una sorta di dispositivo di scorrimento per impostare la dimensione del carattere direttamente all'interno dell'applicazione, ad esempio l'applicazione iBook.

A mio parere il modo migliore è mantenere tutto pulito e semplice, dal processo di progettazione, ai dettagli di implementazione.Per esempio:

  • evitare gesti complessi interfaccia
  • Tenere pulito
  • Evitare la navigazione complessa
  • Evitare mutliple Tableview nella stessa schermata
  • non utilizzare piccoli pulsanti