¿Cómo puedo apoyar el Tipo de Dinámica en UILabel y UITextView en iOS 7? Yo soy la adaptación de uno de nuestros proyectos para iOS 7 y quisiera apoyar esta característica de accesibilidad. No puedo encontrar la específica cómo tutorial en iOS de Apple sitio de Desarrolladores.

InformationsquelleAutor jaytrixz | 2013-09-30

2 Comentarios

  1. 57

    Si el uso de las nuevas UIFont métodos, está casi allí – sólo tiene que añadir el observador para escuchar los cambios.

    En lugar de establecer un tamaño de fuente específico, usted debe utilizar el preferredFontForTextStyle: y métodos relacionados al estilo de las etiquetas (si está utilizando el Interface Builder, usted puede seleccionar un estilo directamente en el inspector). Por ejemplo:

    self.label.font = [UIFont preferredFontForTextStyle:UIFontTextStyleHeadline];

    Una vez que haya hecho eso, usted debe escuchar para el UIContentSizeCategoryDidChangeNotification. Cuando reciba esta notificación debe de diseño de sus etiquetas para apoyar al recién tamaño seleccionado (si está utilizando el diseño automático normalmente esto es tan simple como el envío de invalidateIntrinsicContentSize a sus puntos de vista).

    Si usted está buscando para la documentación oficial, a continuación, echar un vistazo a la Texto De La Guía De Programación.

    • No hay una manera de acceder a el estilo que se escogió en el Interface Builder? Si no, que parece una gran supervisión. Ahora tengo que ponerlo en 2 lugares, lo que significa que inevitablemente va a salir de la sincronización.
    • preferredFontForTextStyle devuelve una fuente del sistema, aunque, ¿hay alguna forma de hacerlo con fuentes personalizadas?
    • la clase se puede escalar a cualquier fuente personalizada de acuerdo a las métricas de fuente: UIFontMetrics documentación
  2. 2

    En Swift 3 y iOS 10 puede utilizar

    headline.font = UIFont.preferredFont(forTextStyle: UIFontTextStyleHeadline)
    headline.adjustsFontForContentSizeCategory = true
    

    Ver este excelente post para obtener más información, en especial la forma de apoyo pre iOS 10.

Dejar respuesta

Please enter your comment!
Please enter your name here