personalizadas para letras fuentes font family ejemplos dafont ios objective-c uibutton

ios - para - fuente personalizada en el título de UIbutton recortado en la parte superior de la palabra



fuentes html5 (6)

Tuve un problema similar, donde se cortó una diéresis en la parte superior de la etiqueta del título. Hice una subclase UIButton y usé este código para solucionar el problema:

-(void)layoutSubviews { [super layoutSubviews]; CGRect frame = self.titleLabel.frame; frame.size.height = self.bounds.size.height; frame.origin.y = self.titleEdgeInsets.top; self.titleLabel.frame = frame; }

He subido una fuente personalizada y he aplicado esta fuente en el título de un botón UI usando el siguiente código

videoButton.titleLabel.font = [UIFont fontWithName:@"LaurenScript" size:20];

El problema es que el título se está recortando en la parte superior de la primera letra (ver foto a continuación). Probé la misma fuente en UIlabel y funciona bien, así que no hay problema con la fuente. Intenté también cambiar el rectFrame usando

[videoButton.titleLabel setFrame:CGRectMake(0, 0, 300, 600)];

pero eso no hizo nada. ¿Alguien tiene una pista de cómo puedo solucionar este problema? Aclamaciones


Seleccione el botón en el constructor Interfaz y verifique para establecer un panel de alineación vertical en la sección de control A continuación se muestra un ejemplo:


Existe esta (triste) solución: https://.com/a/10200908/352628

Tengo un problema similar. Parece que el títuloLa etiqueta es muy incontrolable, y para tener el control necesitas inyectar una subvista UILabel al botón ... Eso me pone triste :(


Intento esto en swift 2.1, adapto este código de la respuesta de Antoine . Esto puede no ser un buen código, pero soluciona mi problema por el momento. Deberías hacerlo mejor para ti.

import UIKit class CustomUIButton: UIButton { override func layoutSubviews() { if var titleFrame : CGRect = titleLabel?.frame{ titleFrame.size = self.bounds.size titleFrame.origin = CGPointZero self.titleLabel!.frame = titleFrame self.titleLabel!.textAlignment = .Center } } }


tuvo el mismo problema al usar un botón con una imagen y texto con una fuente personalizada. Todo tenía que alinearse centrado verticalmente. Y la imagen no se estira. esto funcionó bien para mí.

btn.contentVerticalAlignment = .fill btn.contentMode = .center btn.imageView?.contentMode = .scaleAspectFit


No estoy seguro de si esto sigue siendo un problema para cualquiera, pero descubrí que (con el uso de una fuente personalizada) las soluciones anteriores no solucionaban finalmente el problema, especialmente para un UIButton personalizado creado únicamente mediante programación.

Así es como logré solucionar este problema, con 1 línea en particular que resolvió el problema de recorte:

UIButton *button = [[UIButton alloc] init]; button = [UIButton buttonWithType:UIButtonTypeCustom]; [button setTitle:@"Nice!" forState:UIControlStateNormal]; [button setFont:[UIFont fontWithName:<CUSTOM FONT NAME> size:buttonWidth/3.0f]]; button = CGRectMake(0, 0, <WIDTH>, <HEIGHT>);

Aquí estaba la línea que resolvió el recorte:

[button setContentVerticalAlignment:UIControlContentVerticalAlignmentFill];

Espero que esto ayude a cualquier otra persona que todavía esté atrapada. Feliz codificación!