В моем случае я обнаружил, что с использованием жестко закодированных рамок это плохо. И если в моем сообщении больше одной строки, индикатор показывает верхнюю часть моего сообщения.
Так что я создаю функцию с индикатором макета, если размер UIAlertView
+(UIAlertView*) progressAlertWithTitle:(NSString*) title andMessage:(NSString*) message andDelegate:(id)delegate{
UIAlertView *progressAlert = [[UIAlertView alloc] init];
[progressAlert setTitle:title];
[progressAlert setMessage:message];
[progressAlert setDelegate:delegate];
UIActivityIndicatorView *progress=nil;
progress= [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
[progressAlert addSubview:progress];
[progress startAnimating];
[progressAlert show];
progress.frame=CGRectMake(progressAlert.frame.size.width/2-progress.frame.size.width, progressAlert.frame.size.height-progress.frame.size.height*2, progress.frame.size.width, progress.frame.size.height);
return progressAlert;
}
В этом случае индикатор всегда по центру
Однострочное сообщение:
![enter image description here](https://i.stack.imgur.com/WhCMq.png)
Еще одно сообщение:
![enter image description here](https://i.stack.imgur.com/FNtVp.png)