¿Cuál es el nombre de la slim de la fuente del sistema en iOS 7? Hay un método para utilizar como UIFont systemFontOfSize:?

InformationsquelleAutor Dmitry | 2013-09-15

4 Comentarios

  1. 22

    Como de iOS 8.2, ahora se puede utilizar UIFont.systemFontOfSize(_:CGFloat,weight:CGFloat):

    UIFont.systemFontOfSize(19, weight: UIFontWeightLight)

    iOS SDK proporcionado constantes de pesos:

    UIFontWeightUltraLight
    UIFontWeightThin
    UIFontWeightLight
    UIFontWeightRegular
    UIFontWeightMedium
    UIFontWeightSemibold
    UIFontWeightBold
    UIFontWeightHeavy

    El uso de la fuente del sistema es mejor que la creación de una tipografía basada en el nombre de la fuente cuando se desea utilizar el sistema de fuentes ya que iOS pueden cambiar su sistema de fuentes en iOS (como cuando lo hicieron con Helvetica Neue en iOS 7, y ahora, de San Francisco en iOS 9).

    • ¿cuál fue la mejor manera antes de iOS 8.2 para utilizar el sistema de la fuente? Me preguntaba cómo utilizar systemFontOfSize y también el uso de diferentes fuentes de pesos de helvetica!?
    • Usted puede utilizar UIFont‘s de inicializador, init?(name fontName: String, size fontSize: CGFloat) -> UIFont. Usted tiene que usar el nombre de la fuente para el peso de la fuente que usted necesita. Todos los nombres de las fuentes disponibles se enumeran aquí iosfonts.com
    • Sí, pero entonces yo también ejecutan en el problema de que esta no es una buena manera de apoyar tanto, iOS 8 HelveticaNeue y iOS 9 San Francisco. Yo para tener 2 de las especificaciones de la fuente para ambas versiones del sistema operativo en la misma app. Que en realidad no es práctico en absoluto.
    • Así que la idea era para especificar una fuente con las systemFontOfSize y dejar que el sistema operativo maneja el cambio. Pero la única duda que tengo ahora es, ¿cómo conseguir algunos pesos en su sin especificando el nombre exacto de la fuente + la extensión como «HelveticaNeue de Luz»
    • Entonces usted tiene que recurrir a la utilización de UIFont.systemFontOfSize(_:CGFloat,weight:CGFloat) como se indicó anteriormente.
    • Pero con systemFontOfSize no hay ninguna posibilidad de especificar otro peso, a continuación, derecho romano? excepto para boldSystemFont pero… la luz? medio, condensada, etc.
    • AFAIK, no hay otra manera.

  2. 1

    acaba de hacer una extensión para UIFont como el de abajo,

    extension UIFont {
    
        static func lightSystemFontOfSize(size: CGFloat) -> UIFont {
    
            let familyName = UIFont.systemFontOfSize(15).familyName.stringByReplacingOccurrencesOfString(" ", withString: "")
    
            return UIFont(name: "\(familyName)-Light", size: size)!
        }
    }
  3. 0

    Acaba de crear una categoría para él:

    #import <UIKit/UIKit.h>
    
    @interface UIFont (System)
    
    + (UIFont *)lightSystemFontOfSize:(CGFloat)fontSize;
    + (UIFont *)ultraLightSystemFontOfSize:(CGFloat)fontSize;
    
    @end
    
    #import "UIFont+System.h"
    
    @implementation UIFont (System)
    
    + (UIFont *)lightSystemFontOfSize:(CGFloat)fontSize {
        return [UIFont fontWithName:@"HelveticaNeue-Light" size:fontSize];
    }
    
    + (UIFont *)ultraLightSystemFontOfSize:(CGFloat)fontSize {
        return [UIFont fontWithName:@"HelveticaNeue-UltraLight" size:fontSize];
    }
    
    @end

Dejar respuesta

Please enter your comment!
Please enter your name here