UIProgressView barra di progresso nelle nostre app

L’oggetto uiprogressview è utilizzato per indicare il progresso di un processo

1)creiamo un nuovo oggetto di tipo view-based application e chiamiamolo progress

2)apriamo il file progressviewcontroller. h e inseriamo questo codice

[code lang=”objc”]

#import <UIKit/UIKit.h>

@interface progressViewController : UIViewController{

IBOutlet UILabel *progressLabel;

IBOutlet UIProgressView *progressBar;

NSTimer *timer;

}

@property (nonatomic, retain) NSTimer *timer;

-(IBAction)caricamentoBlu;

-(IBAction)caricamentoRosso;

-(void)aggiornaBlu;

-(void)aggiornaRosso;

-(void)applicaBlu;

-(void)applicaRosso;

@end

[/code]

A questo punto dovreste essere in grado di decifrare il codice da soli…

3)Ora andiamo a creare l’interfaccia grafica dal file con l’estensione .xib

4)inseriamo un oggetto di tipo progressview e una label (cancelliamo il testo label)

5)Selezioniamo ora la UIProgressView e, sempre in “Attributes Inspector”, impostiamo il valore della casella “Progress” a zero.

6)ora inseriamo 2 bottoni 1 con il nome applica rosso e uno applica blu

7) ora non ci resta che cliccare col tasto destro su file’s owner e fare i vari collegamenti

8)progresslabel con la label / progressBar con progressview

9)le due azioni caricamento blu con il bottone applica blu e il rosso con il rosso(selezionare l’opzione touch up inside)

10)ora non ci resta che implementare il codice andiamo su progressviewcontroller.m e digitiamo il seguente codice:

[code lang=”objc”]

@implementation progressViewController

@synthesize timer;

– (IBAction)caricamentoBlu {

progressBar.progress = 0.0;

progressLabel.text = @\”Caricamento colore…\”;

timer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(aggiornaBlu) userInfo:nil repeats:YES];

}

– (IBAction)caricamentoRosso {

progressBar.progress = 0.0;

progressLabel.text = @\”Caricamento colore…\”;

timer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(aggiornaRosso) userInfo:nil repeats:YES];

}

– (void)aggiornaBlu{

progressBar.progress = progressBar.progress + 0.1;

if (progressBar.progress == 0.5){

progressLabel.text = @\”Applicando colore…\”;

[self applicaBlu];

}

if (progressBar.progress == 1.0){

progressLabel.text = @\”Colore applicato!\”;

[timer invalidate];

}

}

– (void)aggiornaRosso{

progressBar.progress = progressBar.progress + 0.1;

if (progressBar.progress == 0.5){

progressLabel.text = @\”Applicando colore…\”;

[self applicaRosso]; }

if (progressBar.progress == 1.0){

progressLabel.text = @\”Colore applicato!\”;

[timer invalidate];

}

}

– (void)applicaBlu{

[UIView beginAnimations:nil context:NULL];

[UIView setAnimationDuration:5.0];

self.view.backgroundColor = [UIColor blueColor];

[UIView commitAnimations]; }

– (void)applicaRosso{

[UIView beginAnimations:nil context:NULL];

[UIView setAnimationDuration:5.0];

self.view.backgroundColor = [UIColor redColor];

[UIView commitAnimations];

}

[/code]

Download Progetto Link