Создайте представление индикатора активности в своем делегате и добавьте его так, чтобы оно всегда было в передней части ваших представлений, и скройте его.
Создать счетчик в интерфейсе вашего делегата
int activityCounter;
Создайте метод в вашем делегате, например
-(void)startActivityIndicator {
activityCounter++;
activityView.hidden = NO;
}
и еще один для отделки
-(void)stopActivityIndicator {
activityCounter--;
if (activityCounter <= 0)
activityView.hidden = YES;
}
Затем в контроллерах представления, когда вы запускаете действие, для которого нужно отобразить индикатор, вы можете вызвать startActivityIndicator
для вашего делегата, а когда оно закончится, позвонить stopActivityIndicator
. Это также будет обрабатывать случаи, когда у вас может быть несколько перекрывающихся действий, и вы хотите, чтобы индикатор активности оставался видимым до тех пор, пока все они не будут завершены.