una titulo texto poner para pagina misma linea izquierda hago derecha cómo como centro centrar alinear ala objective-c uibutton

objective-c - texto - html centrar un titulo



¿Cómo configurar el título de UIButton como alineación a la izquierda? (10)

Necesito mostrar la dirección de correo electrónico desde el lado izquierdo de un UIButton , pero se está posicionando en el centro.

¿Hay alguna forma de establecer la alineación en el lado izquierdo de un 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];



El uso de emailBtn.titleEdgeInsets es mejor que contentEdgeInsets , en caso de que no desee cambiar la posición del contenido completo dentro del botón.


En Swift 3+:

button.contentHorizontalAlignment = .left


Establece el contenido Alineación horizontal:

emailBtn.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;

También es posible que desee ajustar el contenido del recuadro izquierdo, de lo contrario, el texto tocará el borde izquierdo:

emailBtn.contentEdgeInsets = UIEdgeInsetsMake(0, 10, 0, 0);


Hay un pequeño error en el código de @DyingCactus. Aquí está la solución correcta para agregar un UILabel a un UIButton para alinear el texto del botón para controlar mejor el botón ''título'':

NSString *myLabelText = @"Hello World"; UIButton *myButton = [UIButton buttonWithType:UIButtonTypeCustom]; // position in the parent view and set the size of the button myButton.frame = CGRectMake(myX, myY, myWidth, myHeight); CGRect myButtonRect = myButton.bounds; UILabel *myLabel = [[UILabel alloc] initWithFrame: myButtonRect]; myLabel.text = myLabelText; myLabel.backgroundColor = [UIColor clearColor]; myLabel.textColor = [UIColor redColor]; myLabel.font = [UIFont fontWithName:@"Helvetica Neue" size:14.0]; myLabel.textAlignment = UITextAlignmentLeft; [myButton addSubview:myLabel]; [myLabel release];

Espero que esto ayude....

Alabama


Para Swift 2.0:

emailBtn.contentHorizontalAlignment = UIControlContentHorizontalAlignment.Left

Esto puede ayudar si es necesario.


También puede utilizar el generador de interfaces si no desea realizar los ajustes en el código. Aquí dejé alinear el texto y también lo sangré un poco:

No olvides que también puedes alinear una imagen en el botón también:


en xcode 8.2.1 en el constructor de interfaces se mueve a:


Swift 4+

button.contentHorizontalAlignment = .left button.contentVerticalAlignment = .top button.contentEdgeInsets = UIEdgeInsets(top: 10, left: 10, bottom: 10, right: 10)


UIButton *btn; btn.contentVerticalAlignment = UIControlContentVerticalAlignmentTop; btn.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;