Cómo utilizar la actividad de vista de indicador en el iPhone?
-
09-09-2019 - |
Pregunta
Una vista indicador de actividad es útil en muchas aplicaciones. Alguna idea acerca de cómo agregar, activiate y despedir una vista indicador de actividad en el iPhone?
Todos los métodos para ello son bienvenidos aquí.
Solución
Crea:
spinner = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
[spinner setCenter:CGPointMake(kScreenWidth/2.0, kScreenHeight/2.0)]; // I do this because I'm in landscape mode
[self.view addSubview:spinner]; // spinner is not visible until started
Start:
[spinner startAnimating];
Stop:
[spinner stopAnimating];
Cuando haya terminado, finalmente, eliminar el control de giro de la vista y la liberación.
Otros consejos
Tome un vistazo a la aplicación de WordPress de código abierto. Tienen un reutilizable ventana muy que han creado para mostrar una "actividad en curso" Tipo de pantalla sobre la parte superior de cualquier ver su aplicación está mostrando actualmente.
http://iphone.trac.wordpress.org/browser/trunk
Los archivos que desea son:
- WPActivityIndicator.xib
- RoundedRectBlack.png
- WPActivityIndicator.h
- WPActivityIndicator.m
A continuación, para mostrar que usar algo como:
[[WPActivityIndicator sharedActivityIndicator] show];
Y ocultar con:
[[WPActivityIndicator sharedActivityIndicator] hide];
en lo que respecta a:
Tome un vistazo a la aplicación de WordPress de código abierto. Tienen un reutilizable ventana muy que han creado para mostrar una "actividad en curso" Tipo de pantalla sobre la parte superior de cualquier ver su aplicación está mostrando actualmente.
Tenga en cuenta que si lo hace utilizar este código que debe proporcionar todo el código fuente de su propia aplicación para cualquier usuario que lo solicite. Es necesario ser conscientes de que pueden decidir volver a empaquetar el código y lo venden en la tienda de sí mismos. Todo esto está previsto en los términos de la Licencia Pública General de GNU (GPL).
Si no desea ser forzado a abrir su código fuente, entonces no puede utilizar cualquier cosa de la aplicación iPhone wordpress incluyendo el, ventana de actividad progreso que se hace referencia, sin forzar la GPL para aplicar a su propia cuenta.
La documentación sobre este tema es bastante claro. Es una subclase UIView para que lo utilice como cualquier otra vista. Para iniciar / detener la animación se utiliza
[activityIndicator startAnimating];
[activityIndicator stopAnimating];
Uso de Storyboard -
Crea -
- Ir a main.storyboard (Esto se puede encontrar en theproject Navigator en el lado izquierdo de su Xcode) y arrastrar y soltar el "Indicador de actividad Ver" de la biblioteca de objetos.
-
Ir al archivo de encabezado y crear un IBOutlet para la UIActivityIndicatorView -
@interface ViewController : UIViewController @property (nonatomic,strong) IBOutlet UIActivityIndicatorView *activityIndicatorView; @end
-
Establecer la conexión de las salidas a la UIActivityIndicatorView.
Inicio:
Utilice el siguiente código cuando se necesita para iniciar el indicador de actividad utilizando el código siguiente en el archivo de aplicación (.m) -
[self.activityIndicatorView startAnimating];
Detener:
Utilice el siguiente código cuando se necesita para detener el indicador de actividad utilizando el código siguiente en el archivo de aplicación (.m) -
[self.activityIndicatorView stopAnimating];
Creo que se debe utilizar oculta mejor.
activityIndicator.hidden = YES
El indicador de actividad 2 muestran seg e ir a la página siguiente
@property(strong,nonatomic)IBOutlet UIActivityIndicator *activityindctr;
-(void)viewDidload { [super viewDidload];[activityindctr startanimating]; [self performSelector:@selector(nextpage) withObject:nil afterDelay:2];}
-(void)nextpage{ [activityindctr stopAnimating]; [self performSegueWithIdentifier:@"nextviewcintroller" sender:self];}
- (IBAction)toggleSpinner:(id)sender
{
if (self.spinner.isAnimating)
{
[self.spinner stopAnimating];
((UIButton *)sender).titleLabel.text = @"Start spinning";
[self.controlState setValue:[NSNumber numberWithBool:NO] forKey:@"SpinnerAnimatingState"];
}
else
{
[self.spinner startAnimating];
((UIButton *)sender).titleLabel.text = @"Stop spinning";
[self.controlState setValue:[NSNumber numberWithBool:YES] forKey:@"SpinnerAnimatingState"];
}
}