Come utilizzare l'attività indicatore di vista su iPhone?
-
09-09-2019 - |
Domanda
Una vista indicatore di attività è utile in molte applicazioni. Tutte le idee su come aggiungere, activiate e licenziare una vista indicatore di attività su iPhone?
Tutti i metodi per questo vengono accolti qui.
Soluzione
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];
Arresto:
[spinner stopAnimating];
Quando si è finalmente finito, rimuovere il filatore dalla vista e il rilascio.
Altri suggerimenti
Date un'occhiata a l'applicazione open source di WordPress. Hanno un riutilizzabile finestra molto hanno creato per la visualizzazione di un ' "attività in corso" Display tipo sopra la parte superiore di qualsiasi vista dell'applicazione è visualizzato.
http://iphone.trac.wordpress.org/browser/trunk
I file che si desidera sono:
- WPActivityIndicator.xib
- RoundedRectBlack.png
- WPActivityIndicator.h
- WPActivityIndicator.m
Poi, per mostrarlo usare qualcosa come:
[[WPActivityIndicator sharedActivityIndicator] show];
E nascondere con:
[[WPActivityIndicator sharedActivityIndicator] hide];
per quanto riguarda:
Date un'occhiata a l'applicazione open source di WordPress. Hanno un riutilizzabile finestra molto hanno creato per la visualizzazione di un ' "attività in corso" Display tipo sopra la parte superiore di qualsiasi vista dell'applicazione è visualizzato.
Si noti che se si fa utilizzare questo codice è necessario fornire tutte il codice sorgente per la propria applicazione a qualsiasi utente che ne faccia richiesta. È necessario essere consapevoli del fatto che essi possono decidere di riconfezionare il codice e venderlo sul negozio stessi. Tutto questo è previsto sotto i termini della GNU General Public License (GPL).
Se non si vuole essere costretti ad aprire il vostro codice sorgente, allora non è possibile utilizzare qualsiasi cosa, da l'applicazione iPhone wordpress compreso il, finestra di avanzamento dell'attività di riferimento, senza forzare il GPL da applicare al proprio.
La documentazione su questo è abbastanza chiaro. Si tratta di una sottoclasse UIView in modo da utilizzare come qualsiasi altro punto di vista. Per avviare / arrestare l'animazione si utilizza
[activityIndicator startAnimating];
[activityIndicator stopAnimating];
Uso Storyboard -
Crea -
- Vai main.storyboard (Questo può essere trovato in theProject Navigator sul lato sinistro del vostro Xcode) e trascinare e rilasciare il "Activity Indicator View" dalla libreria di oggetti.
-
Vai al file di intestazione e creare un IBOutlet per l'UIActivityIndicatorView -
@interface ViewController : UIViewController @property (nonatomic,strong) IBOutlet UIActivityIndicatorView *activityIndicatorView; @end
-
Stabilire la connessione dal Outlets al UIActivityIndicatorView.
Avvia:
Utilizza il seguente codice quando è necessario avviare l'indicatore di attività utilizzando il codice seguente nel file di implementazione (.m) -
[self.activityIndicatorView startAnimating];
Arresto:
Utilizzare il seguente codice quando si ha bisogno di fermare l'indicatore di attività utilizzando il codice seguente nel file di implementazione (.m) -
[self.activityIndicatorView stopAnimating];
penso che si dovrebbe usare nascosto migliore.
activityIndicator.hidden = YES
Indicatore di attività 2 sec spettacolo e passare alla pagina successiva
@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"];
}
}