UiactivityIndicatorView dentro de Uuttonbaritem não está funcionando corretamente
-
19-09-2019 - |
Pergunta
Estou tentando fazer com que um uiactivityIndicatorview funcione dentro de um uibuttonbaritem usando o seguinte código:
- (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];
}
Funciona a ponto de o indicador de atividade ser exibido, mas não está dentro de uma barra de botão.
Alguém tem alguma idéia sobre o que estou fazendo de errado aqui?
Solução
Foi o que eu fiz para obter um indicador de atividade para aparecer quando eu queria que fosse no lado esquerdo de uma barra de ferramentas:
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];
Em seguida, mais adiante no meu código quando quero mostrar o indicador de atividade, eu simplesmente o uso da maneira normal:
[activityIndicator startAnimating];
E, quando não quero mais ver:
[activityIndicator stopAnimating];
Outras dicas
Mas não está dentro de uma barra de botão
E onde está?
Talvez o quadro que você está configurando esteja incorreto? Você tentou CGRectZero
ou algo aleatório (por exemplo CGRectMake(40,60,20,20)
)? Isso tem algum impacto na posição do indicador?
Você já tentou definir o width
propriedade do item?