Come si supporta il tipo dinamico in UILabel
e UITextView
in iOS 7? Sto adattando uno dei nostri progetti per iOS 7 e vorrei supportare questa caratteristica di accessibilità. Non riesco a trovare la specifica modalità di esercitazione su di esso nel sito degli sviluppatori iOS di Apple. Qualsiasi link o codice di esempio sarebbe apprezzato.Come supportare il tipo dinamico nelle etichette in iOS 7
risposta
Se si utilizzano i nuovi metodi UIFont
, ci si trova praticamente lì - è sufficiente aggiungere l'osservatore per ascoltare le modifiche.
Anziché impostare una dimensione di carattere specifica, è necessario utilizzare lo preferredFontForTextStyle:
e i metodi correlati durante lo styling delle etichette (se si utilizza Interface Builder è possibile selezionare uno stile direttamente nell'Inspector). Per esempio:
self.label.font = [UIFont preferredFontForTextStyle:UIFontTextStyleHeadline];
Una volta fatto che si dovrebbe ascoltare il UIContentSizeCategoryDidChangeNotification
. Quando si riceve questa notifica, è necessario disporre le etichette per supportare le nuove dimensioni selezionate (se si utilizza l'autoapprendimento, ciò è normalmente semplice come inviare invalidateIntrinsicContentSize
alle proprie visualizzazioni).
Se stai cercando documentazione ufficiale, dai uno sguardo allo Text Programming Guide.
Non c'è un modo per accedere allo stile selezionato nell'interfaccia Costruttore? Altrimenti, sembra una grande svista. Ora devo impostarlo in 2 posizioni, il che significa che sarà inevitabilmente fuori sincrono. – MacsimusPrime
'preferredFontTextStyle' restituisce comunque un font di sistema, esiste un modo per farlo con i caratteri personalizzati? – kevin
In Swift 3 e iOS 10 è possibile utilizzare
headline.font = UIFont.preferredFont(forTextStyle: UIFontTextStyleHeadline)
headline.adjustsFontForContentSizeCategory = true
Vedi this excellent post per ulteriori informazioni, in particolare come sostenere iOS pre 10.
controllare questo tutorial [Come per il supporto di tipo dinamico in iOS 7 Apps .] (http://mythoughtsandexperiments.blogspot.in/2013/12/how-to-support-dynamic-type-in-ios-7.html) –