titlelabel color buttons iphone objective-c uibutton uilabel

iphone - color - menu ios



Objetivo C: ¿Cómo se puede rotar el texto para UIButton y UILabel? (7)

¿Cómo se puede rotar el texto para UIButton y UILabel ? 90 grados, 180 grados

Gracias


En mi experiencia, el marco de UIView se cambia después de aplicar la transformación, así que esto es lo que he usado:

UILabel *l = [[UILabel alloc] initWithFrame:CGRectMake(x, 0, 28, 159)]; l.textAlignment = NSTextAlignmentRight; l.text = @"Hello!"; [_viewXAxisLabels addSubview:l]; [l setTransform:CGAffineTransformMakeRotation(-M_PI / 2)]; l.frame = CGRectMake(x, 0, 28, 159);


Prueba esto:

lbl.transform= CGAffineTransformMakeRotation(DEGREES_TO_RADIANS(270));


Sé que esta pregunta ya tiene muchas respuestas, pero quería brindar una respuesta alternativa.

En lugar de rotar UILabel , puede rotar el texto dentro de la etiqueta derivando una subclase de UILabel y anulando drawRect . Si está utilizando Interface Builder, puede especificar esta subclase en lugar de UILabel en el atributo Custom Class del Identity Inspector. Esto le permitirá construir su UI con XIB, en lugar de crear las etiquetas mediante programación. La única advertencia es que el texto en Interface Builder se mostrará horizontalmente. Sin embargo, se representará verticalmente en la aplicación en sí.

#import "RotatedLabel.h" @implementation RotatedLabel - (void)drawRect:(CGRect)rect { CGContextRef context = UIGraphicsGetCurrentContext(); CGContextSaveGState(context); CGContextRotateCTM(context, -(M_PI/2)); UIFont* systemFont17 = [UIFont systemFontOfSize:17.0]; CGSize textSize = [self.text sizeWithFont:systemFont17]; CGFloat middle = (self.bounds.size.width - textSize.height) / 2; [self.text drawAtPoint:CGPointMake(-self.bounds.size.height, middle) withFont:systemFont17]; CGContextRestoreGState(context); } @end


Te gusta esto,

UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(10, 10, 50, 70)]; label.numberOfLines = 2; label.text = @"text"; label.backgroundColor = [UIColor clearColor]; label.textColor = [UIColor whiteColor]; label.highlightedTextColor = [UIColor blackColor]; label.textAlignment = UITextAlignmentLeft; label.font = [UIFont systemFontOfSize:12]; //rotate label in 45 degrees label.transform = CGAffineTransformMakeRotation( M_PI/4 ); [self addSubview:label]; [label release];


//Right To Left lable.transform = CGAffineTransformMakeRotation (3.14/2); //Left To Right [lable setTransform:CGAffineTransformMakeRotation(-M_PI / 2)];

O

lable.transform= CGAffineTransformMakeRotation(DEGREES_TO_RADIANS(270));


[*yourlabelname* setTransform:CGAffineTransformMakeRotation(-M_PI / 2)];

imagen girada

imagen permeable


lbl.transform=CGAffineTransformMakeRotation(M_PI); //Go back lbl.transform=CGAffineTransformMakeRotation(0);