Я пытаюсь управлять индикатором активности от моего делегата приложения, таким образом, любое из моих представлений может поднять индикатор. Итак, я добавляю его как подпредставление к «окну» и запускаю / останавливаю следующим образом:
- (void)didStartActivity
{
if( activityIndicator == nil ) {
activityIndicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
activityIndicator.hidesWhenStopped = YES;
activityIndicator.center = window.center;
activityIndicator.transform = CGAffineTransformScale(CGAffineTransformIdentity, 6.0, 6.0);
}
NSLog(@"%s: starting the activityIndicator", __FUNCTION__);
[window addSubview:activityIndicator];
[activityIndicator startAnimating];
}
Я вижу сообщения журнала, поэтому я знаю, что код вызывается. Индикатор находится в центре и в 6 раз больше размера по умолчанию. Тем не менее, анимация остановки не останавливается. Единственное, что я могу сделать вывод, это то, что он должен работать в текущем контроллере представления.
- (void)didStopActivity
{
NSLog(@"%s: stopping the activityIndicator", __FUNCTION__);
[activityIndicator stopAnimating];
[activityIndicator removeFromSuperview];
}