¿Cómo puedo configurar el título de un UIButton como alineado a la izquierda?
Necesito mostrar una dirección de correo electrónico en el lado izquierdo de un correo electrónico UIButton
, pero está ubicada en el centro.
¿ Hay alguna forma de establecer la alineación en el lado izquierdo de a UIButton
?
Este es mi código actual:
UIButton* emailBtn = [[UIButton alloc] initWithFrame:CGRectMake(5,30,250,height+15)];
emailBtn.backgroundColor = [UIColor clearColor];
[emailBtn setTitle:obj2.customerEmail forState:UIControlStateNormal];
emailBtn.titleLabel.font = [UIFont systemFontOfSize:12.5];
[emailBtn setTitleColor:[[[UIColor alloc]initWithRed:0.121 green:0.472 blue:0.823 alpha:1]autorelease] forState:UIControlStateNormal];
[emailBtn addTarget:self action:@selector(emailAction:) forControlEvents:UIControlEventTouchUpInside];
[elementView addSubview:emailBtn];
[emailBtn release];
Aceptado
Establezca el contenidoHorizontalAlignment:
// Swift
emailBtn.contentHorizontalAlignment = .left;
// Objective-C
emailBtn.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;
Es posible que también desees ajustar el contenido insertado a la izquierda; de lo contrario, el texto tocará el borde izquierdo:
// Swift 3 and up:
emailBtn.contentEdgeInsets = UIEdgeInsets(top: 0, left: 10, bottom: 0, right: 0);
// Objective-C
emailBtn.contentEdgeInsets = UIEdgeInsetsMake(0, 10, 0, 0);
También puede utilizar el generador de interfaces si no desea realizar ajustes en el código. Aquí dejé alinear el texto y también sangrarlo un poco:
No olvides que también puedes alinear una imagen en el botón:
En Swift 3+:
button.contentHorizontalAlignment = .left
Rápido 4+
button.contentHorizontalAlignment = .left
button.contentVerticalAlignment = .top
button.contentEdgeInsets = UIEdgeInsets(top: 10, left: 10, bottom: 10, right: 10)