UIActivityIndicatorView congelar ao usar segue personalizado
-
15-11-2019 - |
Pergunta
preciso de ajuda aqui, estou usando um segue personalizado para enviar um controlador de visualização para outro controlador de visualização.
quando pressionado usando cutom segue, o uiactivityindicator não será animado automaticamente quando a visualização for carregada.
no entanto, se eu usar o método push no storyboard, o uiactivityindicator será animado automaticamente.
o que eu fiz de errado?
-(void)perform {
UIViewController *sourceVC = (UIViewController *) self.sourceViewController;
UIViewController *destinationVC = (UIViewController *) self.destinationViewController;
[UIView transitionWithView:sourceVC.navigationController.view duration:0.5
options:UIViewAnimationOptionTransitionCrossDissolve
animations:^{
[sourceVC.navigationController pushViewController:destinationVC animated:NO];
//NSLog(@"count of subview %i", [self.view.subviews count]);
}
completion:NULL];
}
Solução
Experimente isto:
UIViewController *sourceVC = (UIViewController *) self.sourceViewController;
UIViewController *destinationVC = (UIViewController *) self.destinationViewController;
[UIView transitionFromView:sourceVC.view toView:destinationVC.view duration:.5 options:0 completion:^(BOOL finished) {
[sourceVC.navigationController pushViewController:destinationVC animated:NO];
}];
O -pushViewController:animated:
não deve ser colocado no bloco de animação, mas no bloco de conclusão.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow