2011-02-01 32 views

Respuesta

227

añadir un alojamiento a archivo .h de su controlador de vista:

@property (nonatomic, retain) IBOutlet UILabel *label; 

Vincule la etiqueta a este IBOutlet en las salidas de "Propietario del archivo" en Interface Builder. Si no se usa ARC, asegúrese de que lo suelte en -dealloc

- (void)dealloc 
{ 
    [self.label release]; 
    [super dealloc]; 
} 

Luego de obtener el nombre y el tamaño de la letra todo lo que necesita es

NSString *fontName = self.label.font.fontName; 
CGFloat fontSize = self.label.font.pointSize; 
+3

No funciona. Puedo escribir texto en él, pero fontName y pointSize son nulos. – Tim

+0

¿Quiere decir que puede cambiar el texto de la etiqueta mediante programación, pero no puede acceder a fontName y pointSize? Edité la respuesta anterior para incluir self.label, en lugar de simplemente label, ya que no mencioné la creación de una variable de instancia para la etiqueta. – Ned

+0

Además, asegúrese de haber conectado la etiqueta en Interface Builder con la IBOutlet que creó en File's Owner (el controlador de vista). – Ned

1

hay que adjuntarlo a un UILabel IBOutlet, y luego, label.font ...

15

valor pointsize no es el tamaño de fuente del utilizado en UIFont propiedad de tamaño. Decir si vas configurar la interfaz tamaño de la fuente constructor a 14 y hace una impresión del tamaño de punto que obtendrá solamente 11.

+0

Parece que está funcionando ahora. Si configuro el tamaño de fuente de una etiqueta en el editor de interfaz/generador de guiones gráficos en 17 ... 'myLabel.font.pointSize' devuelve 17. –

15

Swift:

var currentFontSize = button.titleLabel?.font.pointSize 
Cuestiones relacionadas