UIActivityIndicatorView all'interno UIButtonBarItem non funziona correttamente
-
19-09-2019 - |
Domanda
Sto cercando di ottenere un UIActivityIndicatorView a lavorare all'interno di un UIButtonBarItem utilizzando il seguente codice:
- (void)showActivityIndicator
{
UIActivityIndicatorView *activityIndicator = [[UIActivityIndicatorView alloc] initWithFrame:CGRectMake(0, 0, 20, 20)];
[activityIndicator startAnimating];
UIBarButtonItem *activityBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:activityIndicator];
[activityIndicator release];
self.navigationItem.rightBarButtonItem = activityBarButtonItem;
[activityBarButtonItem release];
}
Si lavora al punto che viene visualizzato l'indicatore di attività, ma non è all'interno di una barra dei pulsanti.
Qualcuno ha qualche idea su quello che sto facendo male qui?
Soluzione
Questo è quello che ho fatto per ottenere un indicatore di attività di apparire quando ho voluto che sul lato sinistro di una barra degli strumenti:
activityIndicator = [[UIActivityIndicatorView alloc] initWithFrame:CGRectMake(0.0, 0.0, 25.0, 25.0)];
activityIndicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyleGray;
activityIndicator.hidesWhenStopped = YES;
UIBarButtonItem *btnActivity = [[UIBarButtonItem alloc] initWithCustomView:activityIndicator];
NSMutableArray *tItems = [self.toolbar.items mutableCopy];
[tItems insertObject:btnActivity atIndex:0];
self.toolbar.items = tItems;
[tItems release];
Poi, più avanti nel mio codice quando voglio mostrare l'indicatore di attività, ho semplicemente lo uso in modo normale:
[activityIndicator startAnimating];
E, quando io non voglio vederlo più:
[activityIndicator stopAnimating];
Altri suggerimenti
ma non è all'interno di una barra dei pulsanti
E dove si trova?
Forse il telaio si sta impostazione non è corretta? Hai provato CGRectZero
o qualcosa di casuale (ad esempio CGRectMake(40,60,20,20)
)? Ha avuto alcun impatto sulla posizione dell'indicatore?
Hai provato impostando la proprietà width
della voce?