У меня возникли некоторые проблемы с, как ни глупо, с наложением просмотра прогресса.
Я создал подкласс UIViewController с XIB с черным 50% непрозрачным фоном и индикатором активности в середине, я могу заставить его появляться и исчезать, когда мой удаленный класс данных пытается получить данные с удаленного сервера и т. д. .
Он отлично работает на iPhone, масштабируется и вращается.
Однако, когда я запускаю его в симуляторе iPad или на устройстве, квадрат заполняет только верхний левый угол экрана и не меняет размер, чтобы соответствовать дисплею.
Но все мои другие представления создаются таким же образом, включая все табличные представления, над которыми это будет сидеть.
Мое приложение инициализирует табличное представление одной ячейкой с надписью "Загрузка...", а затем вызывает класс удаленных служб данных, который затем выполняет следующие действия:
progress = [[ProgressActivityViewController alloc] initWithNibName:@"ProgressActivityViewController" bundle:nil];
UIViewController *dlg = (UIViewController *)self.delegate;
[dlg.view addSubview:progress.view];
NB: прогресс настроен в файле .h как ProgressActivityViewController) Это класс удаленных служб данных, который добавляет и удаляет подпредставление, когда вы запускаете класс RemoteData, вы передаете его «я» в качестве делегата, чтобы он мог общаться с ним через протокол.
Я знаю, что для этого нужна какая-то другая проверка типа с помощью «isKindOfClass» и т. д., которую я могу добавить позже, но мне нужно, чтобы простое представление растянулось на весь экран.
Этот код работает и выводит вид на экран, но он просто не заполняет экран на iPad.
Источник примера индикатора активности, который я использовал, находится по этой ссылке: http://tapadoo.com/2009/iphone-how-to-do-full-screen-activity-status/