personalizar - Cómo usar la barra de progreso en la aplicación de iPhone
no me aparece el centro de control iphone (5)
En la aplicación de mi iPhone estoy descargando algunos datos de un servidor FTP. Para mostrar la acción estoy usando UIActivityIndicator
. Si pongo UIProgressView
allí en lugar de UIActivityIndicator
, será más apropiado. ¿Cómo uso UIProgressView
mientras descargo algunos datos? ¿Alguien puede darme un enlace de tutorial o código de ejemplo? Gracias por adelantado.
Es bastante simple. Solo necesita establecer el valor apropiado del progress
de la propiedad de UIProgressView
.
En delegado de NSURLConnection
, debe recibir la cantidad de datos que está esperando para descargar y actualizar el progress
durante la descarga. Progress
se representa mediante un valor de punto flotante entre 0.0 y 1.0, inclusive, donde 1.0 indica la finalización de la tarea.
Primero creas IBOutlet en el archivo .h
IBOutlet UIProgressView * threadProgressView;
Luego, en el archivo .m en viewdidload, primero establezca el progreso en 0.0 y luego llame al método makeMyProgressMoving
threadProgressView.progress = 0.0;
[self performSelectorOnMainThread:@selector(makeMyProgressBarMoving) withObject:nil waitUntilDone:NO];
luego agrega el siguiente método
- (void)makeMyProgressBarMoving {
float actual = [threadProgressView progress];
if (actual < 1) {
threadProgressView.progress = actual + ((float)recievedData/(float)xpectedTotalSize);
[NSTimer scheduledTimerWithTimeInterval:0.05 target:self selector:@selector(makeMyProgressBarMoving) userInfo:nil repeats:NO];
}
else{
}
}
También dé su opinión para la respuesta. ¿Te es útil?
Puede visualizar el progreso de la barra de progreso con esta línea de código
-(void) connection:(NSURLConnection *) connection
didReceiveData:(NSData *) data {
if (file)
{
[file seekToEndOfFile];
progressView.progress = ((float)recievedData / (float) xpectedTotalSize);
}
[file writeData:data];
recievedData += data.length;
NSLog(@"Receiving Bytes: %d", recievedData);
}
Una de las opciones es AFNetworking. AFURLConnectionOperation también le permite transmitir fácilmente cargas y descargas, manejar los desafíos de autenticación, controlar el progreso de carga y descarga, y controlar el comportamiento o las solicitudes de almacenamiento en caché.
observado: self.progressionBalance.progress = 5.0 / 10.0;
Debes establecer decimal.