ios - tipo - tamaño letra iphone
¿Puedo cambiar el tamaño de UIActivityIndicator? (8)
Independientemente del tamaño que le dé a la asignación, solo muestra el tamaño fijo. ¿Es posible aumentarlo?
Código:
activityIndicator = [[UIActivityIndicatorView alloc] initWithFrame:
CGRectMake(142.00, 212.00, 80.0, 80.0)];
[[self view] addSubview:activityIndicator];
[activityIndicator sizeToFit];
activityIndicator.autoresizingMask = (UIViewAutoresizingFlexibleLeftMargin |
UIViewAutoresizingFlexibleRightMargin |
UIViewAutoresizingFlexibleTopMargin |
UIViewAutoresizingFlexibleBottomMargin);
activityIndicator.hidesWhenStopped = YES;
activityIndicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyleWhiteLarge;
Swift3
var activityIndicator = UIActivityIndicatorView()
activityIndicator = UIActivityIndicatorView(activityIndicatorStyle: UIActivityIndicatorViewStyle.gray)
activityIndicator.frame = CGRect(x: 0, y: 0, width: 50, height: 50)
let transform: CGAffineTransform = CGAffineTransform(scaleX: 1.5, y: 1.5)
activityIndicator.transform = transform
activityIndicator.center = self.view.center
activityIndicator.startAnimating()
self.view.addSubview(activityIndicator)
Aquí hay una extensión que funcionaría con Swift 3.0 y verifica para evitar la escala de 0 (o el valor que quiera prohibir):
extension UIActivityIndicatorView {
func scale(factor: CGFloat) {
guard factor > 0.0 else { return }
transform = CGAffineTransform(scaleX: factor, y: factor)
}
}
Llámalo así para escalar a 40 puntos (2x):
activityIndicatorView.scale(factor: 2.0)
El tamaño está fijado por el estilo. Es un elemento de interfaz estandarizado por lo que a la API no le gusta jugar con él.
Sin embargo, probablemente podría hacer una transformación de escala en él. Sin embargo, no estoy seguro de cómo eso podría afectarlo visualmente.
Solo desde la perspectiva del diseño de la interfaz de usuario, generalmente es mejor dejar en paz estos elementos estandarizados comunes. Al usuario se le ha enseñado que ciertos elementos aparecen en un cierto tamaño y que significan cosas específicas. Alterar la apariencia estándar altera la gramática de la interfaz y confunde al usuario.
Es posible cambiar el tamaño de UIActivityIndicator.
CGAffineTransform transform = CGAffineTransformMakeScale(1.5f, 1.5f);
activityIndicator.transform = transform;
El tamaño original es 1.0f. Ahora aumenta y reduce el tamaño en consecuencia.
Lo siguiente creará un indicador de actividad de 15 píxeles de ancho:
#import <QuartzCore/QuartzCore.h>
...
UIActivityIndicatorView *activityIndicator = [[[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray] autorelease];
activityIndicator.transform = CGAffineTransformMakeScale(0.75, 0.75);
[self addSubview:activityIndicator];
Si bien entiendo el sentimiento de la respuesta de TechZen, no creo que ajustar el tamaño de un UIActivityIndicator en una cantidad relativamente pequeña es realmente una violación de las expresiones de interfaz estandarizadas de Apple: si un indicador de actividad es 20px o 15px no cambiará la interpretación del usuario de lo que está pasando
También hay muchos otros trucos "CGAffineTransform" útiles con los que puedes jugar. Para obtener más información, consulte la referencia de Apple Developer Library:
¡Buena suerte!
Swift 3.0 y Swift 4.0
self.activityIndi.transform = CGAffineTransform(scaleX: 3, y: 3)